Javaにおけるstaticキーワードの使い方は?
Javaでは、staticキーワードはクラスのメンバーを修飾するために使用され、静的変数、静的メソッド、静的コードブロックを修飾することができます。
- クラス変数:
クラス変数はインスタンスではなくクラスに属しており、その値はすべてのインスタンスで共有されます。クラス変数は、クラスのインスタンスを作成する必要はなく、クラス名を直接使用してアクセスすることができます。これを修飾するためにstaticキーワードを使用します。 - クラスMyClassには、静的な変数myStaticVariableがあります。
- MyClass.myStaticVariableを使用して、静的変数にアクセスできます。
- 静的メソッド:
静的メソッドはインスタンスに依存せず、クラス名を直接呼び出すことができます。静的メソッドは静的変数にしかアクセスできず、非静的変数にはアクセスできません。なぜなら、非静的変数の値はインスタンスに関連しているからです。
修飾するためにstaticキーワードを使用します。 - public class MyClass {
public static void myStaticMethod() {
// スタティックメソッドの実装
}
} - MyClass.myStaticMethod()を使用して、静的メソッドを呼び出すことができます。
- 静的コードブロック:
クラスの読み込み時に実行され、一度だけ実行されます。これは、静的変数の初期化や他の静的操作を実行するために使用できます。修飾子としてstaticキーワードを使用します。 - クラス「MyClass」内に静的ブロックが実装されています。
- クラスが読み込まれると、静的コードブロックのコードが実行され、初期化操作が行えます。
注意すべきは、静的メンバーはクラス名を使って直接アクセスでき、インスタンスを作成する必要がないため、アクセス時にはオブジェクトを参照する必要がないことです。静的メンバーはクラスに直接関連しており、クラスのインスタンスとは関連していません。