【问题标题】:when interface method override always use access modifier public why? [duplicate]当接口方法覆盖总是使用访问修饰符 public 为什么? [复制]
【发布时间】:2017-11-07 06:14:22
【问题描述】:
 1. 

interface A { 
 void display(); 
 } 
class B implements A { 
//not use here private,protected,default...... 
**public** void display(){
  System.out.println("i m interface method"); 
} 
public static void main(String args[]){
 A a1 = new B(); 
a1.display();
 }

}

我很困惑,请帮助我....对不起我的英语。谢谢你

【问题讨论】:

标签: java android


【解决方案1】:

你必须在你的类中使用public的原因是因为你的方法是隐式来自接口的public。 Java 教程Defining an Interface 部分表示,

接口中的所有抽象、默认和静态方法都隐含为public,因此您可以省略public 修饰符。

【讨论】:

    【解决方案2】:

    接口声明你的类应该有一些方法,如果你想实现接口,你不能隐藏它们(通过设为私有)。

    默认情况下,方法在接口中是公共的,您现在可以减少它的可见区域=)

    【讨论】:

      猜你喜欢
      • 2013-03-17
      • 2011-08-27
      • 2015-11-27
      • 2017-12-19
      • 1970-01-01
      • 2014-07-31
      • 2011-03-07
      • 2011-09-08
      相关资源
      最近更新 更多