Java中的权限修饰符一共有四个,分别为private、default、protected和public,开放程度逐步扩大。
private 修饰符
它主要的作用就是用来保护私有属性的,是封装特性的一种体现。一般类中的私有属性与对象,当我们不希望外部能够直接进行操作时,将其定义为private,使其成为外部不可见,只能在类的内部进行直接访问与操作,其中类的内部不仅包括该类的内部,也包括其内部类中。
default 修饰符
它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以对其进行直接访问与操作,同时也仅限于本包之中,其子包中的类和不属于同一包中的子类都无法进行直接访问与操作。当属性前不写明修饰符时默认使用该修饰符进行修饰。
protected 修饰符
它主要的作用就是用来保护子类的。它的意义在于只允许子类使用它修饰的属性,而非子类则不可以,是继承特性的一种体现。除此以外,其还具有default一样允许本包内部类进行直接访问与操作其修饰属性的特性。
public 修饰符
它具有最大的访问权限,其修饰的属性可以被任何一个在CLASSPATH下的类、接口、异常等访问和直接操作。它往往用于对外的情况,是对象或类对外进行交互的一种形式。
修饰符权限说明图示
修饰符 | 类内部 | 包内部 | 子类 | 包外部 |
---|---|---|---|---|
private | √ | × | × | × |
default | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |