[转载] java接口中方法的默认访问修饰符为public

参考链接: Java接口方法

如果一个接口Cup有个方法use(),有个类SmallCup实现接口Cup,则在类SmallCup中正确的是?  ( ) 

A、void use() { …} 

B、protected void use() { …} 

C、public void use() { …} 

D、以上语句都可以用在类SmallCup中 

  

正确答案: C   

子类重写父类方法时,方法的访问权限不能小于原访问权限,在接口中,方法的默认权限就是public,所以子类重写后只能是public 

 

  

接口,比抽象类还要抽象的类: 

接口中的方法会被隐式的指定为  public abstract (只能是 public abstract,其他修饰符都会报错)。接口中的变量会被隐式的指定为  public static final   变量(并且只能是 public,用 private 修饰会报编译错误。)接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。

注: 

接口是隐式抽象的,当声明一个接口的时候,不必使用 abstract 关键字。 

接口中每一个方法也是隐式抽象的,声明时同样不需要 abstract 关键字。 

接口中的方法都是公有的( public ) !!! 不是 default 啦