3
爲什麼變量可能調用(初始化自己)調用相同變量(看起來是遞歸)的方法?我期望看到無盡的遞歸,但它編譯沒有錯誤。任何解釋?正向引用和遞歸
class Forward {
static int test(){
return i;
}
static int i=test();
public static void main(String[] args) {
System.out.println(test()); //sout= 0
System.out.println(i); //sout =0
}
}
另一個例子。爲什麼引用Backwards.j
工作,同時參考j
給出了一個錯誤(「非法向前參考」):
class Backwards{
//static int i=j; //illegal forward reference;
static int i=Backwards.j; //reference through class works
static int j=i;
public static void main(String[] args) {
System.out.println(i);
System.out.println(j);
}
}
您是否明白答案? – ItamarG3