java基础_访问控制权限
Java中成员的访问权限共有四种,分别是 public、protected、default、private,它们的可见性如下:
修饰符 | 本类 | 同包 | 子包 | 其他 |
---|---|---|---|---|
public | ✔ | ✔ | ✔ | ✔ |
protected | ✔ | ✔ | ✔ | ✘ |
缺省(默认) | ✔ | ✔ | ✘ | ✘ |
private | ✔ | ✘ | ✘ | ✘ |
类和接口只能用 public 和 缺省(默认)修饰。其他的方法、变量…四种访问控制修饰符都可修饰。
public > protected > default(包访问权限) > private
public:Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。
protected:介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。对外包的非子类是不可以访问。
default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问,外包的所有类都不能访问。
private:Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。