0

これが以前に投稿された場​​合は申し訳ありませんが、逆の方法でオーバーライドした結果しか得られません。

私は2つのことをできるようにしたい:

  1. 子変数の値を割り当てる際に、子クラスから親変数を参照します。
  2. この変数を参照するアダルト クラスのメソッドに、子クラスの値を使用させます。そうすれば、多くの子クラスを持つことができますが、メソッドに対して同じ繰り返しコードを持つことはありません。

これは、私が意味することの非常に単純な疑似例です。

子クラス:

public class ChildClass extends AdultClass {
    static int a=super.a+1;
}

大人クラス:

public class AdultClass {
    static int a=5;
    static public int getA() {
        return a;
    }
}

ChildClass オブジェクトを使用するクラス:

public class ClientClass {
    public static void main(String[] args) {
        ChildClass.a <-I want this to =6
        ChildClass.getA() <-I want this to return 6
    }
}
4

2 に答える 2

2

Java のポリモーフィズムを活用したい場合は、クラスインスタンスを含める必要があります。静的メンバーは、多態的な動作を表示できません。これは、 から明らかに必要ですAdultClass.getA()

于 2013-02-20T21:25:05.667 に答える
0

次に、メンバーを保護されたメンバーにして、それを子自身のメンバーとして使用します。

このリンクも役立つ場合があります。 スーパークラスのインスタンス変数がサブクラスメソッドでオーバーライドされない理由

于 2013-02-20T21:35:39.697 に答える