作者:我的灵魂在黑夜P里徘回 | 来源:互联网 | 2023-05-27 16:11
我有这两个Java接口:
第一个是:
public abstract interface A {
}
第二个是:
public abstract interface B {
public abstract Set methodName();
}
然后,我将这两个接口实现为:
public class AImpl implements A {
}
和:
public class BImpl implements B {
private Set p;
public Set methodName() {
return this.p;
}
}
我不明白为什么我得到关于methodName()的实现的以下错误:
Type mismatch: cannot convert from Set to Set
非常感谢你.
1> Patryk Dobro..:
Set
是什么不一样Set
,你不能转换它.您可以:
将p声明为 Set
将p声明为 Set extends A>
返回Set
在methodName()
更多细节:if AImpl
implements/extends A然后List
不实现/ extend List
.
List extends A>
意味着这是扩展/实现A的东西的列表.
在Java教程中查看通配符和子类型