以下代碼是合法轉發引用的情況嗎?如果是,爲什麼?Java法律轉發引用
public class MyClass
{
private static int x = getValue();
private static int y = 5;
private static int getValue()
{
return y;
}
public static void main(String[] args)
{
System.out.println(x);
}
}
如果那些不是靜態變量和方法,會是什麼情況? – Vibhor 2012-04-05 21:05:42
我相信行爲是一樣的 - 初始化首先將所有東西都設置爲默認值,然後用指定的值初始化每個值,然後調用構造函數。 – templatetypedef 2012-04-05 21:06:19
哪一個,順便說一句,是你不應該從構造函數調用非final(或private)方法的原因之一;對於某個人來說,這很容易覆蓋該方法,並且看到一個尚未構建的「this」,甚至看到未初始化的最終字段。 – yshavit 2012-04-05 21:26:48