繁体   English   中英

在Java中定义扩展类的属性

[英]Define an attribute that extends a class in java

我有以下课程:

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;
}

如果您可以将Foo设为可以解决该问题的抽象类,那么主要要点是E不能是Foo的实例。 如果Foo不是抽象的,您仍然可以

public abstract class AbstractFoo extends Foo {
}

然后声明E为AbstractFoo类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM