为什么编译失败? [Java]
问题描述:
interface Rideable {
String getGait();
}
public class Camel implements Rideable {
String getGait() { return " mph, lope"; }
}
为什么编译失败?我真的不知道为什么编译错误?为什么编译失败? [Java]
答
默认情况下,接口方法的修饰符是公共的。所以当你实现它。它需要公开。添加公开你的getGait方法应该解决它
答
方法在界面在默认情况下公众和抽象和数据成员默认情况下公共,静态和最终作为访问标签。在子类实现中,你没有提到任何修饰符。所以它会有默认的访问权限。在给出实现的同时,您不能限制(提供更少的)访问标签。所以你必须在实现接口的方法时提供public作为访问修饰符。
编译错误告诉你什么? – Reimeus
你读过错误了吗? – SLaks
默认情况下,接口方法是公共的。你正试图用一个包私有方法来实现这个方法(这是更具限制性的)。请参阅[此图表](http://stackoverflow.com/a/33627846/276052)以了解公共和私有包之间的比较。 – aioobe