抽象クラスにインスタンス変数または静的変数を追加する方法


  1. インスタンス変数の追加: 抽象クラスにインスタンス変数を追加するには、通常の変数と同じように宣言して初期化します。インスタンス変数は、各継承クラスのインスタンスごとに異なる値を持つことができます。

    public abstract class AbstractClass {
       protected int instanceVariable;
       // インスタンス変数のGetterとSetter
       public int getInstanceVariable() {
           return instanceVariable;
       }
       public void setInstanceVariable(int value) {
           instanceVariable = value;
       }
    }

    上記の例では、AbstractClassinstanceVariableという名前のインスタンス変数を追加しました。この変数はprotected修飾子を持っており、継承クラスからアクセス可能です。

  2. 静的変数の追加: 抽象クラスに静的変数を追加するには、static修飾子を使用します。静的変数は、すべての継承クラスで共有される共通の値を持ちます。

    public abstract class AbstractClass {
       protected static int staticVariable;
       // 静的変数のGetterとSetter
       public static int getStaticVariable() {
           return staticVariable;
       }
       public static void setStaticVariable(int value) {
           staticVariable = value;
       }
    }

    上記の例では、AbstractClassstaticVariableという名前の静的変数を追加しました。この変数はprotected修飾子を持っており、継承クラスからアクセス可能です。

これらの例を使用すると、抽象クラスにインスタンス変数と静的変数を追加することができます。これらの変数を利用する具体的な実装は、各継承クラスで行うことができます。

なお、抽象クラス自体はインスタンス化できないため、インスタンスメソッド内でインスタンス変数を直接使用することはできません。インスタンス変数を使用する必要がある場合は、継承クラスでオーバーライドしたメソッド内で利用する必要があります。

以上が、抽象クラスにインスタンス変数と静的変数を追加する方法の説明です。