私は知っている、それは非常に基本的な話題なので、重複する質問があれば、参考にしてください。 42,42
Javaでの初期化の順序
しかし、我々は変数の出現の順序を変更する場合:
public class Point {
int x = 42;
int y = getX();
int getX() {
return x;
}
public static void main (String s[]) {
Point p = new Point();
System.out.println(p.x + "," + p.y);
}
}
それは出力:
public class Point {
int y = getX();
int x = 42;
int getX() {
return x;
}
public static void main (String s[]) {
Point p = new Point();
System.out.println(p.x + "," + p.y);
}
}
それは出力
セイは、次のコードがあります: 42,0
私はn 2番目の場合、状況は次のように記述することができます。「さて、返されるx値は何か分かりませんが、値はあります。私が完全に理解していないのは、その価値とともに見られないxがここでどのように見えるかということです。それはコンパイル時間と実行時間の問題ですか?前もって感謝します。
確認[JLS](http://docs.oracle.com/javase/specs/ jls/se7/html/jls-4.html#jls-4.12.5) – assylias