Java基礎学習day38(静的、main()メソッドの再認識)

1.静的

static は static を意味し、java の修飾子であり、メンバー メソッドとメンバー変数を変更できます。

  • 静的によって変更されたメンバー変数は、静的変数と呼ばれます

特徴:
a. このクラスのすべてのオブジェクトで共有され、すべてのオブジェクトに 1 つの割り当てがあり、すべてのオブジェクトがそれを変更できます。
b. オブジェクトではなく、クラスに属している
c. オブジェクトの存在よりも優れている、クラスのロードと共にロードする

メソッドの呼び出し:
a. クラス名の呼び出し (推奨)
b. オブジェクト名の呼び出し

  • 静的によって変更されたメンバー メソッドは、静的メソッドと呼ばれます

機能:
a. 主にテスト クラスとツール クラスで使用される
b. Javabean クラスではほとんど使用されない

メソッドの呼び出し:
a. クラス名の呼び出し
b. オブジェクト名の呼び出し

2. 静的メモリ マップ
ここに画像の説明を挿入
ここに画像の説明を挿入

静的領域:
a. JDK8 より前はメソッド領域にあり、JDK8 からはヒープ領域に配置されていました
b. このクラスのすべての静的変数を格納し、静的メソッドは格納しません (静的メソッドと非静的メソッドは一時的に格納されます)メソッド領域/メタ空間では、このステートメントが実行されるまで待ってから、スタックにロードします)
c. このクラスのバイトコード ファイルがメソッド領域にロードされた後、静的領域が表示され、静的変数も表示されます
d . このクラスのオブジェクト インスタンスを通じて、このクラスに対応する静的領域を見つけることができます

3.Javabeanクラス、テストクラス、ツールクラス

javabean クラス:
a. 生徒、教師、犬、猫などのクラスを記述するために使用されるクラス
b. 最初にメンバー変数をプライベート化し、次に空のパラメーターとすべてのパラメーターを含むコンストラクターを作成してから、それぞれをプライベート化します。メンバー変数は get メソッドと set メソッドを提供し、最後に追加の動作に対応するメンバー メソッドを記述します。

テスト クラス:
a. 他のクラスが正しく記述されているかどうかをチェックするために使用されます. main メソッドを持つクラスは、プログラムのメイン エントリ ポイントです。
b. たとえば、javabean クラスのオブジェクトを作成し、代入呼び出しを行います。

ツール クラス:
a. 物事のクラスを記述するために使用されるのではなく、何かを行うのに役立つクラス
b. クラスの名前はよく知られている
c. プライベート コンストラクターは、外部の世界がオブジェクトを作成することを許可しません。そのオブジェクトには意味がないため
d. メソッドは静的として定義されており、簡単に呼び出すことができます

4. 静電気に対する注意

  • 静的メソッドは、静的変数と静的メソッドにのみアクセスできます
  • 非静的メソッドは、静的変数または静的メソッドにアクセスでき、非静的メンバー変数および非静的メンバー メソッドにもアクセスできます (非静的メンバー変数はインスタンス変数とも呼ばれます)。
  • 静的メソッドには this キーワードはありません
  • 非静的メソッドの仮パラメータの中に、メソッドの呼び出し元と同じ型の隠し this があります。
  • 非静的メソッドの非重複メンバー変数の前に隠し this もあります
  • クラス内の非静的メソッド (静的メソッド) は非静的メソッド内で呼び出されます. 非静的メソッド (静的メソッド) の前にも隠し this があります. 静的メソッド (変数) を呼び出すには 2 つの方法があります. : クラス名とオブジェクト名

a. これは現在のメソッド呼び出し元のアドレス値を表します
b. これ これは仮想マシンによって自動的に割り当てられ、手動で割り当てることはできません

5. main() メソッドの再認識

public static void main ( String[ ] args ) {

}

  • public: JVM によって呼び出され、public に渡されます。他のクラスもこのメソッドを直接使用できます (main() メソッドは仮想マシンによって呼び出され、アクセス権は十分に大きくする必要があります)。
  • static: オブジェクトを作成せずに JVM によって呼び出され、クラス名に直接アクセスします
    。これは、メイン メソッドが静的であるため、テスト クラスの他のメソッドも静的である必要があるためです。
  • void: JVM によって呼び出され、JVM に値を返す必要はありません
  • main: 一般的な名前。キーワードではありませんが、JVM によって認識されます。
  • String[ ] args: キーボード入力データを受け取るために使用されましたが、現在は役に立ちません

おすすめ

転載: blog.csdn.net/u011453680/article/details/128879502