假设方法或属性默认为protected,它的子类也可以为protected,可能存在某种情况,导致正常访问这些属性和方法会引起错误。接口并不知道未来会被哪个类调用,所以尽量减少接口的访问权限控制,就设置权限为public。出于这种考虑,Sun公司一开始就规定,接口属性和方法默认就为public。
举例:假如IPerson接口中申明了protected String getName(),Person实现IPerson的getName()接口
package person;
public interface IPerson {
protected String getName();
}
package person;
public class Person implements IPerson{
protected String name = "liuzhibo";
protected String getName(){
return name;
}
}
package man;
public class Man {
public static void main(String [] args){
Person person = new Person();
person.name; //name修饰符改为public才可以访问
person.getName(); //getName修饰符改为public才可以访问
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-11 15:17:56