第16章 初期化ブロック (Java)
初期化ブロック
- { }をブロックという。
- ブロックをクラスの任意の場所に書き、その中にコードを書くことができる。これを初期化ブロックという。
- 初期化ブロックは、必要なら、いくつでも書くことができる。
- 初期化ブロックには、名前、引数、戻り値などは定義できない。
- returnなどを除き一般的コードならなんでも書くことができるが、本来初期化を行うためものである。
- 開始時に1回だけ実行される。
- 静的初期化ブロック(staticあり)
- クラスが初めて使用されるときに1度だけ実行される。
- classファイルがコンピュータのメモリに初めて読み込まれた時にだけ実行される。
- インスタンス初期化ブロック(staticなし)
- 新しいオブジェクトが作成されるたびに1度ずつ実行される
- そのオブジェクトの中で実行される。
初期化ブロックやコンストラクタが混在する場合の実行順序
- 静的初期化ブロック
- super() 最初にすべてのスーパークラスの初期化がおこなわれる
- 初期化ブロックのコード
(複数の初期化ブロックがあれば、記述順) - コンストラクタに記述したコード