提示:对访问权限修饰符理解,最好的方法就是写代码进行测试。
Java的四种访问权限修饰符
一、四种访问权限
- Java 借助 private、protected、public与默认修饰符来控制类和类成员的访问性。
1.对于类来说
- 修饰符 private 和 protected 不可用于修饰类。
- 一个没有修饰符的类,是不能被其他包中的类访问的,它只能在同一个包内被访问。
2.对于类成员来说
- private:私有访问权限,只能由类本身进行访问。
- default:包访问权限,只能在同一个包中的类才能进行访问。
- protected:受保护的访问权限,在同一个包中的类可以进行访问,子类也可以访问。
- public:公开的访问权限,所有的类都可以访问。
修饰符 | 可见性标记 | 同类 | 同包子类 | 同包非子类 | 不同包子类 | 不同包非子类 |
---|---|---|---|---|---|---|
private | - | yes | no | no | no | no |
default | yes | yes | yes | no | no | |
protected | # | yes | yes | yes | yes | no |
public | + | yes | yes | yes | yes | yes |
二、关于继承的一些规则
- 子类中继承的成员不能拥有比原先赋值的权限更弱的访问权限,只能拥有更强的访问权限。
- 最弱的访问权限时private,最强的访问权限是public。访问权限:public>protected>默认>private
- 在超类(父类)中声明为 public 的成员必须在所有的子类中声明为 public。
- 在超类(父类)中声明为受保护的成员必须要么为 protected,要么为 public。
- 不声明访问控制的成员(默认修饰符)不能在子类中声明为 private。
- 声明为 private 的成员无法被继承。
三、总结
- 小编这里就没有写代码进行举例了,大家可以写代码进行验证,同时加深对 Java 中的可见性修饰符的理解。