Java 中類變數和例項變數有什麼區別?
以下是類(靜態)變數和例項變數之間的一些顯著區別。
例項變數 | 靜態(類)變數 |
---|---|
例項變數 在類中宣告,但在方法、建構函式或任何程式碼塊之外。 | 類變數也稱為 靜態變數,在類中使用 static 關鍵字宣告,但在方法、建構函式或程式碼塊之外。 |
使用關鍵字 'new' 建立物件時建立例項變數,並在銷燬物件時銷燬。 | 程式啟動時建立靜態變數,程式停止時銷燬。 |
可以在類內部直接透過呼叫變數名來訪問例項變數。但是,在靜態方法中(當例項變數被賦予可訪問性時),應該使用完全限定名來呼叫它們。物件引用.變數名。 | 可以透過使用類名呼叫靜態變數 類名.變數名。 |
例項變數儲存必須被多個方法、建構函式或程式碼塊引用的值,或者物件狀態的重要部分,這些部分必須貫穿整個類。 | 無論從類中建立多少個物件,每個類變數都只有一個副本。 |
示例
public class VariableExample{ int myVariable; static int data = 30; public static void main(String args[]){ VariableExample obj = new VariableExample(); System.out.println("Value of instance variable: "+obj.myVariable); System.out.println("Value of static variable: "+VariableExample.data); } }
輸出
Value of instance variable: 0 Value of static variable: 30
廣告