java中访问权限的关键字有以下四个,他们的关系如图:
类内部 package内 子类 其他
public 允许 允许 允许 允许protected 允许 允许 允许 不允许
default 允许 允许 不允许 不允许
private 允许 不允许 不允许 不允许
其他都好理解,现在说一下protected与default的区别:
1.不同的包中子类只继承父类的public和protected修饰的方法和属性;同一个包下可以继承除了private的属性和方法。
2.不同的包中子类可以调用父类的public,protected的属性和方法,但子类的对象如果没和父类在同一个包下,则不能调用父类的protected属性和方法;