この記事では主にJavaのstaticの特徴を紹介します。非常に良い基準値を持っています。編集者と一緒に見てみましょう
二日前のインタビューで静的の特徴について質問されましたが、その時はあまり良くなかったので、今からまとめてみましょう
Java における static については、次の点から説明します。
1. Java における static は何を表すのか、そしてなぜそれを使用する必要があるのですか?
2. Javaで静的を使用するには?
3. 静電気の特徴と「限界」は何ですか?
4. メンバー変数が静的に変更される場合、静的でないメンバー変数との違いは何ですか?
1. Java における静的とは何を意味しますか?なぜそれを使用する必要があるのですか?
static - static - 「指定された場所」
まず、Java のメモリを見てみましょう。Java はメモリをスタック メモリとヒープ メモリに分割し、いくつかの基本的なタイプの変数、配列、およびオブジェクトを格納します。ヒープ メモリは主にオブジェクトを配置するために使用されます。
static で変更された変数とメソッドは、実際にはメモリ (静的ストレージ) 内のこれらの変数とメソッドの「固定位置」を指定します。 「固定位置」があるので「サイズ」も固定されているように見える 固定位置と固定サイズの特性により、スタックやヒープのスペースを空けるのに非常に便利です。静的変数またはメソッドがスコープ外に出ない場合、その参照ハンドルは変更されません。
よく目にするのは、静的変数は C のグローバル変数の概念に似ているということです。静的とはメモリの共有、つまり、その各インスタンスが同じメモリ アドレスを指すことを意味します。静的にするということは、JVM が静的であることを意味し、その参照 (間接参照を含む) がすべて同じ場所を指していることを意味します。その場所を変更すると、以前と同じにはなりません。戻ってこないよ。
注: Java の main クラスの main() メソッド自体は静的であるため、新しいインスタンスが生成されないときに main メソッドが実行されます。
2. Javaで静的を使用するには?
staticは、メンバー(メンバー変数やメンバー関数)を変更するために使用される修飾子です。
メンバーが静的に変更される場合、オブジェクトによって呼び出されるほかに、クラス名.static member によって直接呼び出すこともできます。
3. 静電気の特徴と「限界」は何ですか? (1)クラスがロードされると、staticメンバーが存在します
静的メンバーには追加の呼び出しメソッドがあり、クラス名によって直接呼び出すことができます。(2) 長所と短所
短所:
ライフサイクル
が長すぎる;注意事項
4. メンバー変数が静的に変更される場合と非静的メンバーの違いは何ですか?
静的変数はクラス変数とも呼ばれます。つまり、この変数はクラスに属しており、非静的変数はメンバー変数、またはインスタンス変数と呼ばれます。オブジェクトであり、特定のオブジェクトに属します。
静的変数はクラスがロードされるときにロードされます。つまり、クラスが消滅すると消滅し、ライフサイクルが最も長くなります。インスタンス変数はオブジェクトの作成時にロードされ、オブジェクトが消滅すると消滅します。オブジェクトのライフサイクルにわたって存在します。
静的変数はメソッド領域の静的領域に格納され、インスタンス変数はオブジェクトが属するヒープメモリに存在します。
静的変数のデータはすべてのオブジェクトで共有されます。インスタンス変数はオブジェクト内で一意のデータです。
以上がJava の static の特性の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。