类Main
有一个子类SubMain
。
类Foo
有一个子类SubFoo
。
在Main
:
public List<Foo> getFoo() { return null; }
在SubMain
:
@Override
public List<SubFoo> getFoo() { return this.subfoo; }
虽然在List<SubFoo>
. 我想错了吗?以下是一些让我认为这可行的来源。
类Main
有一个子类SubMain
。
类Foo
有一个子类SubFoo
。
在Main
:
public List<Foo> getFoo() { return null; }
在SubMain
:
@Override
public List<SubFoo> getFoo() { return this.subfoo; }
虽然在List<SubFoo>
. 我想错了吗?以下是一些让我认为这可行的来源。
考虑:
public List<? extends Foo> getFoo() { return null; }
如前所述Edwin
, aList<SubFoo>
不是 a 的子类,List<Foo>
因为您无法将 of 添加Foo
到 a List<SubFoo>
。
其他选项:
public class Main<T extends Foo>{
public List<T> getFoo();
}
public class SubMain extends Main<SubFoo>{
public List<SubFoo> getFoo();
}
或SubMain
返回一个List<Foo>