Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
定义在java中扩展类的属性_Java_Android - Fatal编程技术网

定义在java中扩展类的属性

定义在java中扩展类的属性,java,android,Java,Android,我有以下课程: class Foo { public void sayHello(){ System.out.println("Hello"); } } 我希望另一个类保存对扩展Foo(但不能是Foo)的类的引用。类似这样的内容(错误语法): 类栏{ 私人E-mFoo; } 可能吗?我怎么能不在类名中声明它呢 class Bar <E extends Foo> { private E mFoo; } 类栏{ 私人E-mFoo; } 如果你能

我有以下课程:

class Foo {
   public void sayHello(){
       System.out.println("Hello");
   }
}
我希望另一个类保存对扩展Foo(但不能是Foo)的类的引用。类似这样的内容(错误语法):

类栏{
私人E-mFoo;
}
可能吗?我怎么能不在类名中声明它呢

class Bar <E extends Foo> {
    private  E  mFoo;
}
类栏{
私人E-mFoo;
}

如果你能把Foo变成一个抽象类,那么如果主要的问题是E不能是Foo的实例,那么这个抽象类就可以解决这个问题。如果Foo不是抽象的,你仍然可以这样做

public abstract class AbstractFoo extends Foo {
}

然后将E声明为AbstractFoo类型

如果你能使Foo成为一个抽象类,那么如果主要问题是E不能是Foo的实例,那么这个抽象类可能会解决这个问题。如果Foo不是抽象的,你仍然可以这样做

public abstract class AbstractFoo extends Foo {
}
然后将E声明为AbstractFoo类型