最近,我正在經歷a page on javarevisited,發現它要求讀者確定什麼將是它輸出的代碼塊...如何從空引用中訪問靜態變量?
雖然我得到的輸出我不滿意的結果(這外面傳來TO BE「Hello」),因爲我不知道如何從空引用訪問靜態成員。背景中發生了什麼?
public class StaticDEMO {
private static String GREET = "Hello";
public static void main(String[] args) {
StaticDEMO demo = null;
System.out.println(demo.GREET);
// TODO code application logic here
}
}
因爲它實際上沒有使用參考。 – immibis
'StaticDEMO演示;'編譯器知道'demo'是一個類的引用,它可能是null,但是它的類型是'StaticDEMO',它是你的類..這不是一個對象... ..因爲靜態字段是在編譯時確定,這是可以的。 –