請看看這個片斷:在不同情況下,Java轉發引用的行爲是否有所不同?
public class A {
void method() {
System.out.print(B.j);//This is legal!
class C {
void method() {
System.out.print(j);//This is illegal!
}
}
final int j = 10;
class D {
void method() {
System.out.print(j);//This is legal!
}
}
}
}
class B {
static int j = 10;
}
我們可以訪問「BJ」在它的定義前的地方,而這是在C級訪問「最終詮釋J」的情況下,非法
java編譯器是否將本地類視爲簡單變量/對象?特別是,這種行爲的基本原理是什麼?我的意思是前進檢查工作的BJ,但它並沒有爲C類
'System.out.print(j)'在D類內是合法的 – sanbhat