menu
書いてる野郎
orebike@gmail.com
クラス定義のブロック直下に無印のブロックを作ると、クラスのインスタンス化時(new)にその内部の Java コードが実行される。 これは本来のコンストラクタよりも先に実行される
public class Hoge { public int v1; // このブロクがインスタンスイニシャライザ { System.out.println("111"); this.v1 = 123; } public Hoge() { System.out.println("222"); System.out.println(this.v1); } }
Hoge hoge = new Hoge(); // 111 // 222 // 123