Java中的访问修饰符(访问控制符)包括:public,protected,default,private。分别代表了不同的访问权限。如果省略,则被视为使用了默认的default作为访问修饰符。
| private | default | protected | public |
同一个类中的成员 | Y | Y | Y | Y |
同一个包中的成员 |
| Y | Y | Y |
| |
| Y | Y |
全局 | | | | Y |
----------------------------------------------------------------------------------------
Java中的管理权限一共有4类,其中有public、protected、default、private。
1、public(公共访问权限)权限具有最大的权限,其可以修饰类以及类中的成员变量以及成员函数。其所修饰的类以及成员函数或者成员变量具有最大的自由,可以随便的被其他的类调用。
2、protected(子类访问权限)权限具有和public相近的功能,但是其也有一些不同的地方。首先,protected不能修饰类,只能修饰类中的成员变量以及成员函数。还有就是被protected权限修饰的成员变量或者成员函数只能被其所在的类的子类使用,并且可以跨包使用。
换言之,如果一个类想要使用一个protected权限的成员函数或者成员变量,但是其又不是上述类的子类。那么在编译的时候就会报错。
3、default(包访问权限)权限,可以修饰类以及成员函数和成员变量。当我们定义一个新类或者一个新的成员变量的时候在其前面不加任何的权限修饰符的话,那么这个被修饰对象就是default类型。即为默认类型。被default修饰的成员变量或者成员函数不能被挎包访问,其只能被其类所在的包中的其他类访问。
4、private(类访问权限)权限,此种权限只能修饰成员变量和成员函数。其被修饰的成员变量或者成员函数只能被当前类中访问,此种权限保护的成员变量或者成员函数具有最私有的权限。
综上,如果要对上述的四种权限做一个权限自上向下的排列的话就应该是:public>protected>default>private。