【发布时间】:2013-12-03 17:24:44
【问题描述】:
我有一个基本抽象类public abstract class BaseModel <T extends BaseModel<T>>。通常,我用public class OtherModel extends BaseModel<OtherModel> 之类的东西扩展这个类。对于我的一些类,我想要一个中间抽象类,这样 A 扩展 B 扩展 BaseModel。
我希望能够声明public class EndModel extends MiddleModel<EndModel>。我设法让 Eclipse 高兴的唯一方法是,如果我将 MiddleModel 声明为 public abstract class MiddleModel<T extends BaseModel<T>> extends BaseModel<T>,但这看起来很难看,现在我必须在我声明变量为 MiddleModel 的任何地方添加一个类型,即使我实际上不在乎它是什么类型。有没有更好的方法来做到这一点?
【问题讨论】:
-
不。如果您希望
MiddleModel是通用的,那么它需要是通用的。如果您不在乎类型是什么,您可以将其声明为MiddleModel<?>。 -
这就是我迄今为止一直在做的事情。我希望能够在
EndModel中声明类型,而不必担心MiddleModel中的类型 -
@BoristheSpider 如果你把它扔进答案,我会把它标记为正确的。