class Grade {
public static int f = 2;
public static void main(String[] args) {
for (int f = 0; f < 2; f++) {
System.out.println(f);
}
}
}
它是怎麼發生的,「int f」是否覆蓋靜態變量f?我認爲static int f被整個類共享,編譯器爲什麼不給出這個變量被重新定義的錯誤消息?爲什麼它不會成爲靜態f的重複?我認爲,在Java中,範圍塊繼承其父塊的變量。Java中的變量範圍
謝謝。有什麼可讀的嗎? –
維基百科頁面應該很清楚。除了知道陰影如何(以及在哪裏)發揮作用之外,沒有什麼別的了。 – Mysticial
@ArtemMoskalev Java語言問題的官方來源是Java語言規範(又名JLS)。有關您的問題,請參閱第6.3.1節。 http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.3.1 –