【发布时间】:2014-03-09 11:23:21
【问题描述】:
最后一行出了什么问题?
interface I1<T>{}
class Class1 implements I1{}
class Class2 extends Class1 implements I1{} //valid
class Class3 implements I1<Number>{}
class Class4 extends Class3 implements I1<Number>{} //valid
class Class5 implements I1<Number>{}
class Class6 extends Class5 implements I1<Integer>{} //not valid
class Class7 implements I1{}
class Class8 extends Class7 implements I1<Number>{} // not valid
class Class9 implements I1<Number>{}
class Class10 extends Class9 implements I1{} // not valid !!!
为什么我做不到?
我在书上看到过,但没有解释这件事——仅供参考。
附言
异常文本:
java: GenericsTest.I1 cannot be inherited with different arguments:
<java.lang.Integer> and <java.lang.Number>
【问题讨论】:
-
你得到“重复界面”吗?或类似“不能用不同类型继承”之类的东西?
-
@guido 有一个特殊的编译错误。类似“ClassName 不能用不同的参数继承”。
-
@Radiodef 哦,是的,我的意思是,但错误的内存扰乱了措辞(手头没有编译器)
-
@Radiodef 请再读一遍主题。我添加了信息
-
@guido 请再读一遍主题。我添加了信息
标签: java generics inheritance