java中接口方法不管是否加了修饰符都是public。因此在实现的时候修饰范围不能缩小,只能是public。
比如:
public interface A{//定义一个接口 void show();//没有修饰符,默认修饰符是public public void show1();//显示定义修饰符是public } public class A1 implements A{ public void show(){//不能缩小使用范围,原来定义的是public,现在只能是public } public void show1(){//不能缩小使用范围,原来定义的是public,现在只能是public } }
因为如果实现类或子类的范围缩小的话,当调用接口的方法时,其实现类的方法就无法访问,这样其实现类就没有任何意义!抽象类的继承也是如此!!