当接口方法覆盖时总是使用access modifier public为什么?

时间:2017-06-06 09:36:46

标签: java android

 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();
 }

}

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

2 个答案:

答案 0 :(得分:0)

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

默认情况下,方法在Interface中是公共的,现在允许您减少可见区域=)

答案 1 :(得分:0)

您必须在班级中使用public的原因是因为您的方法是隐式地 public来自界面。 Java教程Defining an Interface部分地说

  

界面中的所有抽象,默认和静态方法都是隐式public,因此您可以省略public修饰符。