Java類的屬性
在前一章的示例中,我們稱呼類中的x
為變量,實際上它是類的一個屬性,或者可以說類屬性就是類中的變量:
示例
創建MyClass
類,它有兩個屬性:x
和y
:
public class MyClass {
int x = 5;
int y = 3;
}
類屬性的另一個術語是字段。
訪問屬性
要訪問屬性,首先要創建類的對象,然后使用點語法(.
)訪問。
下面的示例,創建MyClass
類的一個對象myObj
,打印其屬性x
:
示例
創建一個名為myObj
的對象,並打印其屬性x
的值:
public class MyClass {
int x = 5;
public static void main(String[] args) {
MyClass myObj = new MyClass();
System.out.println(myObj.x);
}
}
修改屬性
可以修改屬性值:
示例
設置x
的值為40:
public class MyClass {
int x;
public static void main(String[] args) {
MyClass myObj = new MyClass();
myObj.x = 40;
System.out.println(myObj.x);
}
}
或覆蓋現有值:
示例
將x
的值更改為25:
public class MyClass {
int x = 10;
public static void main(String[] args) {
MyClass myObj = new MyClass();
myObj.x = 25; // x 現在是 25
System.out.println(myObj.x);
}
}
如果不希望覆蓋現有值,可將屬性聲明為final
:
示例
將x
的值更改為25:
public class MyClass {
final int x = 10;
public static void main(String[] args) {
MyClass myObj = new MyClass();
myObj.x = 25; // 將生成一個錯誤: 無法為 final 變量賦值
System.out.println(myObj.x);
}
}
當希望變量值不變時,如PI(3.14159…),可使用
final
關鍵字。
final
關鍵字稱為“修飾符”,后續章節將詳細介紹。
多個對象
如果創建一個類的多個對象,你可以改變一個對象的屬性值,不會影響另一個對象的屬性值:
示例
將myObj2
中的x
值更改為25,myObj1
中的x
不變:
public class MyClass {
int x = 5;
public static void main(String[] args) {
MyClass myObj1 = new MyClass(); // 對象1
MyClass myObj2 = new MyClass(); // 對象2
myObj2.x = 25;
System.out.println(myObj1.x); // 輸出 5
System.out.println(myObj2.x); // 輸出 25
}
}
多個屬性
類中可以聲明任意多的屬性:
示例
public class Person {
String fname = "Kevin";
String lname = "Wu";
int age = 35;
public static void main(String[] args) {
Person myObj = new Person();
System.out.println("Name: " + myObj.fname + " " + myObj.lname);
System.out.println("Age: " + myObj.age);
}
}