什么是类声明的不同之处?
使用第一种方法,我能够创建子类(类似于Java中的
我认为对象可以作为
public abstract class Super1<T extends Super1<T>> {...}
并且
public abstract class Super2<T extends Super2<? super T>> {...}
使用第一种方法,我能够创建子类(类似于Java中的
Enum
类型)。public class Sub1 extends Super1<Sub1> {...}
但是我想知道是否可以像第2个示例那样声明超类。它有任何意义吗?但是我无法创建子类,例如:
public class Sub2 extends Super2<Object> {...}
我认为对象可以作为
T
的超类型?还有另一种形式,我可以想到的是:public abstract class Super3<T extends Super3<? extends T>>
我正在尝试学习泛型,非常感谢您的帮助。
Super2<Object>
,因为Object
没有extends Super2<Object>
。 - Sebastian