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 回答