这一章都是在说public、protected、friendly(即默认)、private的区别
1.首先,区分修饰词修饰类和成员的差别
(1)类只能要么被public修饰,要么啥都没有即默认(包访问权限);(这一条不包括内部类)
(2)类的成员可以被public、protected、private修饰还可以默认;
2.权限范围public > protected > friendly > private
解释为何protected > friendly: 因为protected = 包访问权限 + 子类访问 ;friendly = 包访问权限;
举例:A包中类A1继承自B包中类B1,类A1可以访问B1类中被protected修饰的成员但不可访问默认即friendly成员,但是B1类中protected与friendly修饰成员在包内都可被访问
3.权限表:
访问权限 | 本类 | 本包类 | 子类 | 非子类外包类 | 子类外包类 |
public | 是 | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | 否 | 是 |
friendly | 是 | 是 | 否 | 否 | 否 |
private | 是 | 否 | 否 | 否 | 否 |
原文:https://www.cnblogs.com/mgblogs/p/11374544.html