十一:類的屬性

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;
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容