Java語言中的類的基本結構
1. 什麼是類?
類是Java程式的基本組成單位,定義了物件的屬性和方法。是具有相同屬性和行為物件的集合。
2. 物件的實質:屬性+行為。
**3. 類的基本結構:**屬性,方法,構造方法,內部類,塊。==屬性是對資料的描述,方法是對物件的行為。構造方法用於例項化物件[^1]。
4. 方法過載:
- 原則:函式名相同,引數型別不同,引數個數不同,引數順序不同,在同一作用域。
- 方法過載跟方法的返回值型別沒有關係,只有返回值不同的方法不能夠構成過載。
5.方法的呼叫:類名.方法
6.物件的建立:假設存在一個類Person,建立物件語句為Person p=new Person();
接下來舉一個例子
public class Cat{
public static void main(String[] args){
kitty k1=new kitty();//建立一個物件k1
kitty k2=new kitty(“小玉米”,3);//建立一個物件k2,名字為小玉米,年齡為3
System.out.println(“kitty的名字:”+k1.name+k1.age+“歲”);//輸出物件k1的名字和年齡
k1.play();//呼叫play方法
k1.eat();//呼叫eat方法
}
class Kitty{
String name=“小貓”;
int age=1;
}
//無引數的構造方法
kitty(){
}
//無引數的構造方法
Kitty(Styring name,int age){
this.name=name;
this.age=age;
}
//paly方法
void play(){
System.out.println(“玩毛線團”);
}
//eat方法
void eat(){
System.out.println(“吃肉肉”);
}
}
註釋:
例項化物件:把一個類,形象化,通過類的例項,就是物件,來實現類的功能。因為類是抽象的,所以需要例項化物件才能使用類。
類student是person的子類,所以從資料結構關係上講,student不但擁有person即父類的一切特性還有著自身特有的屬性。而在儲存區域上student的分佈則是區域的開始部分是父person類的所有資料,然後是student類自身的特有屬性。所以他們的關係就是子類的資料是在父類的資料後面加上了一些自己的特性。
既然如此那麼當我們使用子類例項化一個物件子後,那麼這個物件同樣也擁有了父類的所有特性,所以這時如果我們將這個子類的物件進行型別轉化為父類的物件是完全可以的,因為子類的物件擁有父類的一切特性。
而Person p = new Student()這個語句其實就相當於隱式聲明瞭一個子類物件然後將其隱式轉化為父類的型別。所以這裡的p應該是父類person的物件。這樣做的好處是比如你聲明瞭一個介面或者抽象類,然後要使用他的例項化物件,但是抽象類是不能直接例項化的,所以就需要靠子類來幫忙了。