【发布时间】:2012-12-27 13:51:45
【问题描述】:
我开始学习 Java 泛型。而且我对泛型语法及其含义有一些误解。如果我的问题看起来太琐碎,我请求理解。
-
你可以写:
public class MyClass<SomeClass> {} -
你可以写:
public class MyClass<C extends SomeClass> {} -
你也可以写:
public class MyClass<? extends SomeClass> {}
这些案例有什么区别?
- 第一种情况对我来说非常清楚:您可以使用 SomeClass 的实例 和 他的子类的实例 作为 MyClass 的类参数。
- 我认为在这种情况下您只能使用 MyClass 的子类的实例
- 同样:只使用MyClass 的子类的实例作为MyClass 的类参数。
我的猜测是否正确?尤其是第二种和第三种情况的使用有什么区别?
提前感谢您的解释!
【问题讨论】:
-
"3. 你也可以这样写: public class MyClass extends SomeClass> {} " 不,你不能
标签: java hierarchy class-hierarchy generics