使用する場合:
メソッドや変数を初期化してロードする必要がある場合、または頻繁に呼び出される場合に、static
を追加できます。 static で変更されたメソッドは、クラス名を使用して直接呼び出すことができますが、そうでない場合は、呼び出す前にオブジェクトをインスタンス化する必要があります。
欠点:
初期読み込みにより多くのメモリが消費されるため、あまり使用されないメソッドにこのキーワードを追加することはお勧めできません。
計算によって静的変数を初期化する必要がある場合は、静的ブロックを宣言できます。静的ブロックは、クラスのロード時に 1 回だけ実行されます。
推奨される Java 関連ビデオ チュートリアル: java オンライン チュートリアル
次の例は、静的メソッド、いくつかの静的変数、および静的初期化ブロックを含むクラスを示しています。
サンプル コード:
// Demonstrate static variables,methods,and blocks. class UseStatic { static int a = 3; static int b; static void meth(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b); } static { System.out.println("Static block initialized."); b = a * 4; } public static void main(String args[]) { meth(42); } }
UseStatic クラスがロードされると、すべての静的ステートメントが実行されます。
まず、クラス属性変数の割り当てが開始され、a が 3 に設定され、b がデフォルトで 0 に初期化され、次に静的ブロックが実行されて実行され (メッセージの出力)、最後に b がa*4 または 12 に初期化されます。次に main() が呼び出され、main() が meth() を呼び出して値 42 を x に渡し、3 つの println() ステートメントが 2 つの静的変数 a と b およびローカル変数 x を参照します。
注: 静的メソッドでインスタンス変数を参照することは違法です。
実行結果:
Static block initialized. x = 42 a = 3 b = 12
おすすめの関連記事チュートリアル: Java プログラミングの概要
以上がJava で static を使用する場合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。