この順序の問題について説明した記事を以前に読みました importNew上面的,找了找没找到。类加载都是先加载父类的static属性和块,然后加载本身的static属性和块,顺序都是从上往下的。构造对象的时候,总是先调用父类的构造器,然后调用自身的构造器。你上面的例子,首先加载App类,谁想它第一个static属性竟然需要构造一个自身类型的对象,这就直接跳过其他static属性和块到了App的构造器了,构造器里本身就一句要打印一个4,但是程序在编译后会把SubClass t = new SubClass();加入到构造器上方的,这个你可以查看一下编译生成的字节码文件,然后转而去加载和构造SubClassオブジェクトと順序についてはすべて上記で説明しています。
この順序の問題について説明した記事を以前に読みました
importNew
上面的,找了找没找到。类加载都是先加载父类的static
属性和块,然后加载本身的static属性和块,顺序都是从上往下的。构造对象的时候,总是先调用父类的构造器,然后调用自身的构造器。你上面的例子,首先加载App
类,谁想它第一个static
属性竟然需要构造一个自身类型的对象,这就直接跳过其他static
属性和块到了App
的构造器了,构造器里本身就一句要打印一个4
,但是程序在编译后会把SubClass t = new SubClass();
加入到构造器上方的,这个你可以查看一下编译生成的字节码文件,然后转而去加载和构造SubClass
オブジェクトと順序についてはすべて上記で説明しています。ブレークポイントデバッグはできますか? Eclipse ブレークポイントを使用してデバッグし、コードの実行シーケンスとデータのスナップショットを確認できます