【发布时间】:2017-03-26 23:21:50
【问题描述】:
我正在类Parent 中编写一个方法,它返回一组对象A。但是,我有一个类Child(继承形式Parent)。我希望它返回一组对象B(B 继承自A)。
更具体地说,我的方法看起来像这样(它现在会引发编译错误)。
Parent类方法:
public abstract <T extends A> Set<T> getSet();
Child 类(扩展Parent 类)方法:
public <T extends B> Set<T> getSet() {...}
这样做有可能吗,还是没有意义?
【问题讨论】:
-
类型参数有范围。我认为您应该将
Parent和Child类都定义为内部类。然后你可以使用类级别的类型参数来得到你想要的 -
@Jude 你能解释一下将 both 定义为内部类的意思吗?
-
我对你的帖子做了一些格式化。请注意,在降价中,您通过留下一个空行来创建一个新部分。你不必这样做
<br/>。
标签: java oop generics inheritance