Javaにおいて、static変数に他のインスタンスへの参照型を格納する場合等、static変数の初期化を行う必要があります。
このページでは、static変数の初期化について説明します。
Java言語では、static変数の初期化用の専用ルーチンとして「static」ルーチンが用意されています。
class Content { public Content() { System.out.println("Content() が呼ばれました。"); } public void print() { System.out.println("Contentのインスタンスです。"); } } class Constants { public static Content content; static { content=new Content(); } } class EntryPoint { public static void main(String[] aArguments) { System.out.println("mainメソッドが開始されました。"); Constants.content.print(); System.out.println("mainメソッドが終了します。"); } }
このプログラムをコンパイル/実行した結果は、下記の通りです。
mainメソッドが開始されました。 Content() が呼ばれました。 Contentのインスタンスです。 mainメソッドが終了します。
「static」ルーチンは、上記の例のように、第三者のクラスからそのクラスがはじめてアクセスされた際に呼び出されます。
このような実装を取ることにより、プログラム起動時の余計な初期化処理とメモリの使用量を抑えているようです、よくできてますね。
・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。
まだ評価がありません |
表示できるメッセージはありません。