![](/img/trans.png)
[英]Setting the modifier 'public' in the implementation of an interface method
[英]since all interface method are public, does that mean all implementation of interface method must be public as well
由于所有接口方法都是公共的,这是否意味着接口方法的所有实现都必须公开? 我已经读过,子类只能分配高于原始方法的访问级别。 我用一些代码尝试了这个,它看起来确实如此,但我只是想知道在哪里可以找到有关此的文档?
与Oracle官方Java教程一样:
接口是一种所有实现类必须坚持的契约
这意味着, 不准的方法,该返回类型和访问修饰符的签名被改变。
https://docs.oracle.com/javase/tutorial/java/IandI/index.html
此外,如果您尝试使用@Override
注释标记interface-method,编译器将抛出错误。
Interface
s的创建是使用实现它们的类的接口 。
例如,我们实现Comparable
接口被信任的是,类具有compareTo
方法,其可以通过其它类使用 。
所以这是不可能的,我没有看到这样做的重点。
我没有找到准确引用您的问题的文档的一部分,但从这部分可以理解:
如果被覆盖或隐藏的方法是公共的,则覆盖或隐藏方法必须是公共的; 否则,发生编译时错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.