Javaにおけるstaticの使い方を教えてください

Javaでは、staticキーワードはクラスのメンバ変数やメソッドを修飾します。以下にその用途を示します。

  1. 静的変数:static修飾子で修飾したメンバ変数はクラスに属し、クラスインスタンスには属さない。静的変数はクラスのロード時に初期化され、すべてのインスタンスオブジェクトは同じ静的変数値を共有する。静的変数はクラス名で直接アクセスでき、クラスのインスタンスを作成する必要はない。
  2. 専用のクラスインスタンスを作成せずに、修飾する staticメソッドを使用して直接呼び出せます。静的メソッドは静的メンバ変数にのみアクセス可能で静的メソッドを呼び出し、非静的メンバ変数やメソッドにはアクセスできません。Mathクラスの静的メソッドなどのツールクラス内のいくつかのパブリックメソッドは、よく使われる静的メソッドです。
  3. 静的コードブロック:staticで修飾されたコードブロックを静的コードブロックと呼び、クラスのロード時に実行され、静的変数の初期化やその他の静的操作の実行に使用されます。
  4. 静的内部クラスとして定義されたクラスは外部クラスのインスタンス依存せず、インスタンスを直接生成可能です。

staticキーワードは主に、クラスレベルのメンバーを定義する際に用いられ、クラスのインスタンスとは関係なく、クラス名から直接アクセスすることが可能です。メモリ上ではインスタンスごとに保持されるのではなく、1つのみ保持される静的メンバーは、メモリ空間を節約できます。また、staticメソッドやstaticコードブロックでは、クラスのロード時に何らかの初期化処理を実行できます。

bannerAds