参考文章
彻底搞懂Java protected关键字和default的区别
1.权限修饰符概述
权限修饰符用于修饰类、变量和方法,目的是指定这些成员被允许访问的范围。
public>protected>(default / friendly)>private
修饰符\访问范围 | 本类 | 同包的类 | 不同包的子孙类(内部访问) | 不同包的其他类 |
---|---|---|---|---|
public | ✓ | ✓ | ✓ | ✓ |
protected | ✓ | ✓ | ✓(内部访问:不允许其他类访问父类) | × |
(default / friendly) | ✓ | ✓ | × | × |
private | ✓ | × | × | × |
protected和default的区别:允许其他包的子类在子类内部通过 “super.xxx” 访问被protected修饰的父类成员,但不允许访问 (default / friendly) 成员。
2.protected与default的区别
- 若父类和子类在同一个包下,二者没有区别,都可以在子类内部用super访问;
- 若父类和子类不在同一个包下,proctected允许在子类内部访问,(default / friendly) 不允许访问
protected
(default / friendly)
版权声明:本文为xyxyxyxyxyxyx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。