java - 定义一个扩展java中类的属性

标签 java android

我有以下类(class):

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 类型。

关于java - 定义一个扩展java中类的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16624201/

相关文章:

java - 在 AWS EMR 上运行 WordCount 示例 map reduce

android - 是否可以远程托管 Android 应用程序中使用的资源,使其只能由我的应用程序使用?

android - 如何在布局中添加自定义 View ?

android - 操作栏 Sherlock 列表导航文本颜色

java - 该内容无法在框架中显示

java - react-native运行android无法正常工作。无法初始化类org.codehaus.groovy.runtime.InvokerHelper

java - Spring RESTful Webservice - 返回没有模型对象的 JSON

android - React Native - 页脚按钮

android - 在 Fragment 中使用 Toast

Java (Selenium) - 用于初始化子类的父类(super class)构造函数