Java筆記丨11 類、欄位、方法
阿新 • • 發佈:2018-12-17
類
類是組成Java程式的基本要素
是一類物件的原型
它封裝了一類物件的狀態和方法
它將變數與函式封裝到一個類中
欄位和方法
Class Person{
String name;
int age;
void sayHello(){
System.out.println(“Hello!My name is “+name);
}
}
欄位(field)是類的屬性,是用變數來表示的。
欄位又稱為域、域變數、屬性、成員變數等
方法(method)是類的功能和操作,是用函式來表示的
構造方法
構造方法是一種特殊的方法
用來初始化(new)該類的一個新的物件
構造方法和類同名,而且不寫返回資料型別
Person(String n,int a){
name=n;
age=a;
}
預設構造方法
一般情況下,類都有一個至多個構造方法
如果沒有定義任何構造方法,系統會自動產生一個構造方法,成為預設構造方法(default constructor)
預設構造方法不帶引數,並且方法體為空。
使用物件
訪問物件的欄位或方法,需要用算符“.”
Person p=new Person();
System.out.println(p.name);
p.sayHello();
使用這種方法的好處
封裝性
安全性
方法過載(overload)
方法過載(overloading):多個方法有相同的名字,編譯時能識別出來。
這些方法的簽名(signature)不同,或者說是引數個數不同,或者是引數型別不同。
通過方法過載可以實現多型(polymorphism)。
this的使用
1.在方法及構造方法中,使用this來訪問欄位及方法
例如,方法sayHello中使用name和使用this.name是相同的。即:
void sayHello(){
System.out.println(“Hello!My name is ”+name);
}
void sayHello(){
System.out.println(“Hello!My name is ”+this.name);
}
這兩個含義是相同的。
2.this指當前例項物件本身,可以解決區域性變數與域同名的問題,還可以解決區域性變數(方法中的變數)或引數變數與域變數同名的問題。如,在構造方法中,經常這樣用:
Person(int age,String name){
this.age=age;
this.name=name;
}
這裡,this.age表示域變數,而age表示的是引數變數。
3.構造方法中,用this呼叫另一構造方法
Person(){
this(0,“”);
......
}
在構造方法中呼叫另一構造方法,則這條呼叫語句必須放在第一句。