-
final修飾子: final修飾子は、クラス、メソッド、フィールドのいずれかに適用することができます。final修飾子がクラスに適用されると、そのクラスは継承できなくなります。final修飾子がメソッドに適用されると、そのメソッドはオーバーライドできなくなります。final修飾子がフィールドに適用されると、そのフィールドの値を変更できなくなります。
例:
public final class FinalClass { final int constant = 10; public final void finalMethod() { // メソッドの定義 } }
-
abstract修飾子: abstract修飾子は、クラスやメソッドに適用することができます。abstract修飾子がクラスに適用されると、そのクラスは抽象クラスとなり、インスタンス化できなくなります。abstract修飾子がメソッドに適用されると、そのメソッドは抽象メソッドとなり、具体的な実装を持たず、サブクラスでオーバーライドする必要があります。
例:
public abstract class AbstractClass { public abstract void abstractMethod(); }
-
static修飾子: static修飾子は、クラス、メソッド、フィールドのいずれかに適用することができます。static修飾子がクラスに適用されると、そのクラスのインスタンスを作成せずに直接メソッドやフィールドにアクセスできます。static修飾子がメソッドに適用されると、そのメソッドはインスタンス化せずに呼び出すことができます。static修飾子がフィールドに適用されると、そのフィールドはクラスレベルの変数となり、すべてのインスタンスで共有されます。
例:
public class StaticExample { public static int count = 0; public static void increment() { count++; } }
これらはJavaで使用される一部の非アクセス修飾子の例です。他にも多くの非アクセス修飾子がありますが、ここでは代表的なものを紹介しました。それぞれの非アクセス修飾子の使い方と効果についてより詳しく学ぶには、公式のJavaドキュメントや関連する参考書を参照してください。