ホームページ >Java >&#&ベース >Java で static を使用する場合

Java で static を使用する場合

王林
王林オリジナル
2019-12-04 17:59:094282ブラウズ

Java で static を使用する場合

使用する場合:

メソッドや変数を初期化してロードする必要がある場合、または頻繁に呼び出される場合に、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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。