对不起,我有错误代码之前...奇怪的接口实现
所以我有,看起来像一个接口:
public interface Player {
void setPartner(Player partner);
}
而且我有一个接口,它看起来像这样的实现:
public class Human implements Player
{
private Human partner;
public void setPartner(Human partner)
{
this.partner = partner;
}
}
所以编译器说,我不是从实现每一个玩家的方法指示给我,我要的setPartner方法的参数类型完全匹配,即使你呃一个人,是一个球员。有没有什么好的方法来解决这个问题,或者以不同的方式实施?
我的代码没有出错。 –
您使用的是什么版本的Java? IIRC,新版本将通过检测“Human”确实是一个“Player”来支持您在此尝试做的事情。但是,旧版本不具备此功能。 –
方法协方差以Java 5开头。 –