【发布时间】:2015-05-19 09:56:04
【问题描述】:
我有一个具有以下结构的程序
abstract class Aclass B extends Aclass C extends A
所以class A 有两种不同的实现方式。
现在我在abstract class A 中有一个通用方法
protected ReturnType doStuff() {
//THe Return Type is the Problem
}
如果我在class B 中使用此方法,我希望它返回class B 的对象
和class C中的相同
问题:如何将 ReturnType 设置为 B 或 C? 仿制药是正确的方法吗?我试过了,但感觉不对,因为它们都是 A 的亚型。 或者我应该返回“A级”并相应地进行转换?那也感觉不对
【问题讨论】:
-
只需将返回类型设置为
Object。 -
@AkashRajbanshi - 不!引入泛型是为了完全防止你想说的话
-
是的..泛型是最好的 :D @TheLostMind
标签: java