談談java中靜態變量與靜態方法在有繼承關系的兩個類中調用
學習的中如果遇到不明白或者不清楚的的時候,就是自己做些測試,自己去試試,這次我就做一個關於靜態變量和靜態方法在有繼承關系的兩個類中的問題測試。
首先我先建一個父類:
這樣我在建一個子類:
這些都准備好以后,我對子類創建對象,然后用 類名.靜態變量/靜態方法 和 對象名.靜態方法/靜態變量 對他們輸出的結果進行測試。
這樣輸出種類有:
這樣我輸出的結果是:
這樣來總結一下:
1. 通過類名來調用子類中的靜態變量和靜態方法,當父類與子類相同時是,子類會隱藏父類中與其相同的靜態變量和靜態方法,如果子類中沒有與其父類相同的靜態變量和靜態方法,子類從其父類調用過來的靜態變量和靜態方法就會表現出來。
2. 通過子類創建對象來用對象名調用子類中的靜態變量和靜態方法,除非是父類沒有的靜態變量和靜態方法,會顯示其子類的靜態變量和靜態方法。否則,最后顯示一定是從父類哪里引用來的靜態變量和靜態方法。