JAVA 中的权限访问修饰符(public,protected,default,private )
JAVA中有四个权限访问修饰符:public,protected,default,private
注意:这里讲的是对类中属性和方法的访问权限,并不是类的访问权限
1.default:包访问权限
如果什么也没写,默认为default。当然也可以显式得给出default权限
default修饰的属性和方法,包中的所有其他类对那个成员都有访问权限,但是对于这个包之外的所有类没有访问权限。
2.public: 接口访问权限
public修饰的属性和方法对每个类都是可见的
3.private:类内访问权限
private和public相对,private修饰的属性和方法即除类本身外,其他类都不能访问。
4.protected:继承访问权限
首先,protected提供包访问权限。换句话说,如果两个类在同一个包内,对调用者所在的类来说,default和protected提供的访问权限相同。
如果不在一个包,protected提供了继承访问权限,即子类可以访问父类中被protected修饰的属性和方法。
他们关系如下:
类内 | 继承 | 包内 | 其他所有 | |
public | 是 | 是 | 是 | 是 |
protected | 是 | 是 | 是 | 否 |
default | 是 | 是 | 否 | 否 |
private | 是 | 否 | 否 | 否 |