在Java中,實例域是對象中的變量,它們可以存儲對象的狀態信息。每個對象都有自己的實例域,這些域的值可以根據對象的需求進行修改。實例域包括了那些僅能從對象內部訪問的域,還有那些允許從外部訪問的域。
public class Car { private String make; private String model; private int year; public String getMake() { return make; } public void setMake(String make) { this.make = make; } public String getModel() { return model; } public void setModel(String model) { this.model = model; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } }
相比之下,對象域是與類相對應的變量,它們不是某個特定對象的屬性。相反,對象域是與它們所在的類相關聯的變量,它們只有一個副本,可以在所有對象之間共享。換句話說,對象域是類級別的,而不是實例級別的。
public class Calculator { static double pi = 3.14159; public static double add(double a, double b) { return a + b; } public static double subtract(double a, double b) { return a - b; } public static double multiply(double a, double b) { return a * b; } public static double divide(double a, double b) { return a / b; } }
雖然實例域和對象域在Java中具有不同的概念,但它們通常會被用于不同的目的。當你需要存儲對象的獨特屬性時,就需要使用實例域。但如果你需要在類的某些方法之間共享數據,則可能需要使用對象域。Java中的對象域有時也稱為“靜態域”,因為它們是與類相關聯的。