乙個父類定義了static靜態**塊,且有乙個靜態變數value;子類實現(implements)父類,子類中也有靜態**塊,那麼直接呼叫子類.value輸出內容是什麼呢?
且看**:
package com.example.classloading;
public class superclass
public static int value = 123;
}package com.example.classloading;
public class childclass extends superclass
}package com.example.classloading;
/** * 對於靜態字段,只有直接定義這個欄位的類才會被初始化
* @author yanup
* */
public class test
}
大家能猜到最終列印的是什麼麼?
superclass init!!!
123
驚不驚喜,意不意外,不錯,只列印了父類中的靜態**塊和value值;
總結如下:對於靜態字段,只有直接定義這個欄位的類才會被初始化!!!!切記切記切記,重要的事情說三遍!!!
靜態屬性與非靜態屬性
靜態屬性 由static修飾的為類 方法 變數或 塊等。非靜態屬性 不由static修飾 靜態屬性特點 一宣告就被儲存在棧中,直接佔據記憶體,可以快速穩定的呼叫。2.生命週期長,從jvm載入開始到jvm載入結束。3.全域性唯一,在乙個執行環境中,靜態變數只有乙個值,任何一次修改都是全域性性的影響。4...
靜態屬性靜態方法
靜態屬性用於儲存內的公有資料 靜態方法裡面只能訪問靜態屬性 靜態成員不需要例項化就可以訪問 類的內部可以通過self或者static關鍵字訪問自身的靜態成員 子內方法中可以通過parent關鍵字訪問父類的靜態成員 可以通過類的名稱在類定義外部訪問靜態成員 class human class nbap...
python 類屬性,靜態呼叫,變數私有化
類屬性 class toy object count 0 def init self,name self.name name toy.count 1 classmethod def toy count cls print 玩具的數量 d cls.count toy1 toy 樂高 toy2 toy ...