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