0

私は次のクラスを持っています:

class Foo {
   public void sayHello(){
       System.out.println("Hello");
   }
}

そして、別のクラスが Foo を拡張するクラスへの参照を保持するようにします (ただし、Foo にすることはできません)。このようなもの (誤った構文):

class Bar {
    private <E extends Foo> E  mFoo;
}

それは可能ですか?このようにクラス名で宣言せずにどうすればよいですか?

class Bar <E extends Foo> {
    private  E  mFoo;
}
4

1 に答える 1

3

Foo を抽象クラスにして、E を Foo のインスタンスにできないことが主なポイントである場合に解決できる場合。Foo が抽象的でない場合でも、実行できます

public abstract class AbstractFoo extends Foo {
}

次に、E を AbstractFoo 型として宣言します。

于 2013-05-18T12:25:07.553 に答える