对于类的成员(属性和方法)而言,4 种访问权限修饰符都可以使用。下面按照权限从小到大的顺序(即 private < default < protected < public)对四种访问权限修饰符分别进行介绍。
私有权限 private
private 可以修饰属性、构造方法、普通方法。被 private 修饰的类成员只能在定义它们的类中使用,在其他类中都不能访问。
对于封装良好的程序而言,一般将属性私有化,提供公有的 getter 和 setter 方法,供其他类调用。
默认权限 default
不写任何权限关键字就代表使用默认权限,属性、构造方法、普通方法都能使用默认权限。**默认权限也称为同包权限。**同包权限的元素只能在定义它们的类中以及同包的类中被调用。
受保护权限 protected
protected 可修饰属性、构造方法、普通方法,能在定义它们的类中以及同包的类中调用被 protected 修饰的成员。如果有不同包中的类想调用它们,那么这个类必须是这些成员所属类的子类。
公共权限 public
public 可以修饰属性、构造方法和普通方法。被 public 修饰的成员,可以在任何一个类中被调用,是权限最大的访问权限修饰符。
访问权限修饰符使用范围总结如下表所示。
修饰符 | 类内部 | 同一个包中 | 子类 | 任何地方 |
---|---|---|---|---|
private | Yes | |||
default | Yes | Yes | ||
protected | Yes | Yes | Yes | |
public | Yes | Yes | Yes | Yes |