「Java8」初期化ブロック(オブジェクトイニシャライザ)を使用するサンプル

環境
JavaSE1.8
Eclipse2019-12

書式

public class クラス名 {
 private final データの型 変数名;
 //初期化ブロックコード
 { 
  変数名 =値;
  }
}

初期化ブロックの役割は用途は主に次の2つです。
すべてのコンストラクタの共通処理を記述可能です
匿名クラスの初期化に使用します
使い方
クラス名 インスタンス名 = new クラス名();
インスタンス名.変数名

使用例

package com.arkgame.study;

import java.util.Date;

public class StaticObjectDemo {
      
      //変数の宣言
      private final Date date;
      private final int LEVEL;
      
      // 初期化ブロックコード
      {
            System.out.println("初期化ブロックの実行");
            date = new Date();
            LEVEL = 12;
      }

      /**
       * 日付の取得
       * 
       * @return date
       */
      public Date getDate() {
            return date;
      }

      public static void main(String[] args) {
            // インスタンス生成
            StaticObjectDemo stobj = new StaticObjectDemo();
            System.out.println(stobj.getDate().toString());
            System.out.println(stobj.LEVEL);

      }

}

実行結果

初期化ブロックの実行
Thu May 12 09:28:39 JST 2022
12

 

Java

Posted by arkgame