Java的4种访问控制符:public(公有的)、protected(被保护的)、private(私有的)、default(缺省的)(特别注意的是default只是缺省的英文,不是访问控制符的一个关键字,default是JDK8引入的关键字,是在接口内部包含了一些默认的方法实现,从而使得接口在进行扩展的时候,不会破坏与接口相关的实现类代码)
这4种访问控制符能修饰类的成员,包括成员变量和成员方法。而只有public和缺省的能修饰类。
一、先分析对类的成员的访问控制,从范围由小到大分析,结合实例如下:
1.类本身
类自己能访问自己所有的访问控制类型的成员
2.子类
同一个包下的子类:子类实例可以访问除private访问控制符修饰之外的其他成员,父类实例也可以访问除private访问控制符修饰之外的其他成员
不同包下的子类:子类实例可以访问public和protected修饰的成员,父类实例只能访问public修饰的成员
3.其他类(非子类)
同一个包下的其他类:可以访问除private访问控制符修饰之外的其他成员
不同包下的其他类:只能访问public修饰的成员
总结成如下表格:
二、修饰类的访问控制
只能用public修饰类,可被其他所有类访问;再就是缺省访问控制,只能被该包中所有类访问