在Java中,针对类、成员方法和属性提供了四种访问级别,分别是private, default, protected, public。
private当前类访问级别:对于私有成员变量和方法,只有在本类中创建该类的对象时,这个对象才能访问自己的私有成员变量和类中的私有方法。
default包访问级别:类的成员变量和方法前没有修饰符,又叫包修饰符,只有类本身成员和当前包下类的成员可以访问。
protected子类访问级别:用protected修饰的成员变量和方法能被该类的成员以及其子类成员访问,还可以被同一个包中其他类的成员访问。
public公共访问级别:这是一个最宽松的访问控制级别。如果一个类或者类的成员被public修饰,那么这个类或者类的成员能被所有的类访问,不管访问类与被访问类是否在同一包中。
通过如下表将这四种访问级别更加直观的表示出来:
访问控制级别由小到大为:
编写代码时,如果没有特殊的要求,建议采用以下权限使用方式:
成员变量使用private, 隐藏细节 构造方法使用public,方便创建对象 成员方法使用public,方便调用方法