Javaにおいて、staticとfinalの使い方はどのようになりますか?
Javaでは、staticとfinalはクラス、メソッド、変数を修飾するための2つのキーワードです。
- 静的キーワード:
- クラスを修飾するために使用され、静的なクラスはインスタンス化できず、クラス名を直接指定して静的メンバーにアクセスする必要があります。
- メソッドを修飾するために使用されるもの:静的メソッドはクラスに属するメソッドであり、クラス名を使って直接呼び出すことができ、クラスのインスタンスを作成する必要はありません。
- 変数を修飾するために使用され:静的変数はクラスに属し、インスタンスに属するのではなく、すべてのインスタンスが同じ静的変数を共有します。
この本はとても面白かったです。
public class Example {
public static int staticVar; // 静态变量
public int instanceVar; // 实例变量
public static void staticMethod() { // 静态方法
System.out.println("这是一个静态方法");
}
public void instanceMethod() { // 实例方法
System.out.println("这是一个实例方法");
}
}
- 最後のキーワード:
- finalクラスは継承できないように設定されており、他のクラスに継承されることは許されていません。
- finalメソッドはサブクラスでオーバーライドすることができないため、サブクラスはそのメソッドを直接使用する必要があり、修正することはできません。
- 変数を修飾するために使用される:final変数は定数であり、一度値が割り当てられると変更できなくなります。
彼女はとても上手にピアノを弾くことができる。
彼女はピアノをとても巧みに演奏することができる。
public class Example {
public final int constantVar = 10; // 常量
public final void finalMethod() { // final方法
System.out.println("这是一个final方法");
}
}
ご注意ください。
- staticとfinalは変数に同時に修飾子を付けることができ、静的な定数を宣言することを意味します。
- 非静的メソッド内では静的メンバに直接アクセスできますが、静的メソッド内では非静的メンバには直接アクセスできません。