Java静的メソッド、クラス、変数、およびブロックの基礎

公開: 2019-12-13
Java静的メソッドと変数の基礎

Javaの静的とは何ですか?

  • staticキーワードは、クラス、変数、メソッド、およびブロックで使用できます。
  • 静的メンバーは、特定のインスタンスのいずれにも属していません。
  • 静的メンバーはクラスにのみ属します。
  • メンバーを静的にすると、オブジェクトなしでメンバーにアクセスできます。

以下の質問はありますか?

  • Java静的メソッドのベストプラクティスを書き留めていただけますか?
  • インターフェイスのJava静的メソッドとは何ですか?
  • Java静的メソッドとシングルトンについて質問がありますか?
  • Java静的メソッドとインスタンスメソッドのパフォーマンス
  • Javaの静的メソッドと変数
  • Java静的メソッドと非静的メソッド
  • 抽象クラスのJava静的メソッド

staticキーワードは、次の3つのシナリオで使用できます。

  • 静的変数
  • 静的メソッド
  • コードの静的ブロック。

静的変数(「静的」キーワード=クラス変数)

java-static-method-introduction-and-complete-tutorial

Javaでは、変数は「 static 」キーワードで宣言できます。

例: static int y = 0;

変数がキーワードstaticで宣言されている場合、それはclass variableと呼ばれます。 すべてのインスタンスは、変数の同じコピーを共有します。 クラス変数には、インスタンスを作成しなくても、クラスから直接アクセスできます。

「静的」キーワードなし=インスタンス変数

static keywordがない場合、これはinstance variableと呼ばれ、クラスの各インスタンスには変数の独自のコピーがあります。

例:static int crunchify_variable_name ;

  • 静的変数は、クラスのすべてのインスタンス間で共有されます。
  • 大量のメモリ管理を行う場合に必要になる主な理由の1つ。
  • すべての静的変数について–使用できるコピーは1つだけです。
  • 静的変数にアクセスするためにクラスオブジェクトは絶対に必要ありません。
    • 直接使用してください。 object.StaticVariableは必要ありません

静的ブロックとは何ですか?

静的ブロックは、クラスが最初にJVMにロードされるときに実行されるJava class内のステートメントのブロックです。

Javaでプライベートメソッドをオーバーライドできますか?

  • うーん、ダメ。 プライベートメソッドはクラス外で使用できないため、オーバーライドできません。

Javaで静的メソッドをオーバーライドできないのはなぜですか?

  • 静的メソッドは、オブジェクトではなくクラスの一部であるため、オーバーライドすることもできません。

静的コンテキストで非静的変数にアクセスできますか?

  • 静的メソッドから非静的変数にアクセスできるようにするには、静的メンバー変数である必要があります。

静的メソッドの詳細

  • 識別する方法は? 最初にこれを確認してください。 静的メソッドにアクセスするためにクラスオブジェクトが必要ですか? オブジェクトが必要ない場合は、Staticメソッドです。
  • staticメソッドを指定するには、staticキーワードを使用する必要があります
  • 実行時にプロジェクト全体でそのメソッドが変更されない場合は、キーワードstaticを使用することをお勧めします。
  • 静的メソッドをオーバーライドすることはできません。

以下の例を見てみましょう。

例-1:

above code blockの説明を確認してください。 非静的メソッドにアクセスするには、Classのインスタンスを作成する必要があります。

例-2:

それでは、テストを行いましょう。

出力:

静的メソッド、変数、ブロックについての良い情報が得られることを願っています。

上記のプログラムの実行中に問題が発生した場合、またはJavaの静的キーワードの理解に問題がある場合はお知らせください。