第16章 初期化ブロック (Java)

初期化ブロック

  • { }をブロックという。
  • ブロックをクラスの任意の場所に書き、その中にコードを書くことができる。これを初期化ブロックという。
  • 初期化ブロックは、必要なら、いくつでも書くことができる。
  • 初期化ブロックには、名前、引数、戻り値などは定義できない。
  • returnなどを除き一般的コードならなんでも書くことができるが、本来初期化を行うためものである。
  • 開始時に1回だけ実行される。

 

  1. 静的初期化ブロック(staticあり)
    • クラスが初めて使用されるときに1度だけ実行される。
    • classファイルがコンピュータのメモリに初めて読み込まれた時にだけ実行される。
  2. インスタンス初期化ブロック(staticなし)
    • 新しいオブジェクトが作成されるたびに1度ずつ実行される
    • そのオブジェクトの中で実行される。

初期化ブロックやコンストラクタが混在する場合の実行順序

  1. 静的初期化ブロック
  2. super()   最初にすべてのスーパークラスの初期化がおこなわれる
  3. 初期化ブロックのコード
    (複数の初期化ブロックがあれば、記述順)
  4. コンストラクタに記述したコード

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です