Java類的狀態標識了一個類的基本特征,類的狀態也叫做屬性。定義類的屬性和定義普通的變量一樣,唯一區別是這些變量不是定義在任何方法中,而是定義在方法外邊的。一般,屬性的定義直接跟在類名稱下邊。
public class MyObject {
String field1 = "";
int field2 = 0;
double field3 = 0.0;
...
}
由于類的屬性是定義在方法外邊的,在方法中我們可以直接訪問類的屬性。
類的屬性的數據類型可以是基本數據類型,也可以是其他對象類型,比如一個自行車類,它的零配件可以是一組零配件類的對象列表:
public class Bicycle {
Strin brand = "";
String model = "";
double listPrice = 0.0;
int tireSize = 24;
boolean isSold = false;
double salePrice = 0.0;
ArrayList<Accessory> accessaryList = new ArrayList<Accessory>();
...
屬性的使用
類的屬性和變量無異,只不過它的作用范圍會更加地廣泛(關于作用域的概念,請參考這篇文章)。我們可以在聲明屬性的時候,直接為該屬性賦值,也可以在類的方法中,修改屬性的值。
public class Bicycle {
boolean isSold = false;
double salePrice = 0.0;
boolean soldBicycle()
{
salePrice = 354;
return isSold = true;
}
}
在客戶類中,我們也可也通過定義類的對象,以對象.屬性=value
的形式對屬性進行修改,示例代碼如下:
public class Main {
public static void main(String[] args) {
Bicycle bi = new Bicycle();
bi.isSold = true;
bi.salePrice = 345;
}
}
This關鍵字
在類的方法中調用本類的屬性的時候,我們使用到一個Java關鍵字This,這個關鍵字指代類自己,很常用的一個方法如下:
public class Bicycle {
boolean soldBicycle()
{
this.salePrice = 354;
this.isSold = true;
return this.isSold;
}
如果以上示例代碼對This的作用表述不明顯,那么當我們比較兩個同類型對象的時候,用This關鍵字指代自己就好理解了。
boolean equal(Bicycle other)
{
if(this.brand==other.brand&&this.model==other.model)
return true;
else
return false;
}