(initializer)を使うと、コンストラクタ以外でも初期化ができるらしいJava知らないことは、それを知るまでは絶対にできない、そして、知るまでには多大な労力が必要となる、と思う今日この頃です。「私が残念に思うのは、やっと何でも上手く表現出来そうになったなぁ、と思うときに死なねばならぬことだ。何事においても技術を身に着けるということは、時間がかかることを避けて通れないことなのかもしれないですね(涙)。データベース・キャラクタ・セットの変更を先延ばしし続けているわけですが、今回は、Javaのイニシャライザの話でございます。いうわけで、レッツトライ。イニシャライザ(initializer:初期化子)とは?そも、イニシャライザって何ですか?イニシャライザ(initializer)とは、クラスが初期化されたときやインスタンスが生成されたときに、その直後に変数を初期化します。何か特別な計算をした値を初期化の直後に代入したいとき等に利用します。イニシャライザ(initializer)は、クラス変数ならクラスが初期化されるときに実行され、インスタンス変数ならインスタンスが生成されたときに実行します。(初期化子)ということのようです。Initializer)の2つがあるそうです。インスタンスイニシャライザは、あんまり存在感がない感じですかね?かく言う私も、まったく知りませんでした。Initializer)から。ブロック」・「staticブロック」とも呼ばれています。上記サイト様によりますと、いろんな呼ばれ方をするようです...認識の違いが生まれる原因になりますね。上記サイト様が詳しいです。Loader)が関係してくるようです。SubSystemは、そのクラスファイルを読み込むシステムであると。いうものが実行されるようですが、LoadingLinkinginitializationの順番で実行されるようです。Loaderには、種類がいろいろあるようです。Loaderに処理を委譲し、その後、必要に応じて対象のクラスを検索し、解決するってことのようです。いうエラーが起こるようです。上記サイト様が詳しいです。Linkingloadingでクラスファイルが見つかった場合、Linkingで、クラスファイルの妥当性を検証(verify)し、検証でNGが出なければ、クラスのstaticフィールド(静的フィールド)にデフォルト値を設定(Prepare)し、シンボリック参照の解決(実行時コンスタント・プール内のシンボリック参照が、実際に必要とされる型の妥当なクラスを指し示していることをチェック)されると参照先のクラスのロードが実行(Reslove)。Initializationここでようやく、staticフィールドの初期化や、スタティックイニシャライザが実行されるようです。}}というような感じであった場合、という感じで、まず、staticフィールドの初期化が実行された後に、スタティックイニシャライザで、さらに初期化している感じですね。finalなフィールドは事前に初期化(何らかの値を代入)してないと怒られます。追記ここからですが、static初期化子の中で初期化してしまえば、変数宣言の時に初期化していなくてもOKのようです。}}とかやっても、クラスをインスタンス化してないので、ガン無視されます。Subsystemでの処理が終わった段階で、クラス関連の情報は、JVM上のメモリ領域のMetaspace領域(Java8以前はPermanent領域)に格納されるようです。equj65.netといった感じで、スタティックイニシャライザはこんな感じのタイミングで実行されるようです。使いどころは、他サイト様を参考にしていただいて、次はインスタンスイニシャライザについて。インスタンスフィールドの場合、通常はコンストラクタで初期化できます。Initializer)を利用すると便利です。匿名クラス(無名クラス)のように、コンストラクタが無い場合などのケースにおいて、効果を発揮するようです。上記のケースでの実装ではないですが、インスタンスイニシャライザを試してみたいと思います。System.out.println("異常が発生しました。管理者に問い合わせてください。System.out.println("次の状態に移れません。管理者に問い合わせてください。System.out.println("次の状態に遷移しました。イニシャライザが使われているソースに遭遇する日があるかもしれないというお話でした。インスタンスイニシャライザは、業務系のシステムでは出現率が高くないかもですね。囲んでるだけって分かりにくい....。久々に、コードに触れたら、まったくまとまりがない感じに(涙)。優秀な技術者の方のコードから学ばないと駄目ですね...OJTに憧れますな~。デキル」て、良い言葉よね...脱情弱を目指して日々精進したいと願う、どうもボクです。(1)リンクはてなブログブログをはじめる週刊はてなブログはてなブログPro参加グループフェリカ|8月18日開講クラスはてなブログをはじめよう!ts0818さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。