四种访问修饰符种类
private
缺省
protected
public
访问修饰符对应的访问权限
image.png
测试案例
目录结构
image.png
PermissionTest1,所有的变量和方法都可以访问
package javaCore.OrderTest1;
/**
* 定义要测试的数据
*
*/
public class PermissionTest1 {
/*
pri 用private修饰
def 缺省
pro 用protected修饰
pub 用public修饰
*/
private int pri;
int def;
protected int pro;
public int pub;
private void priMethod(){}
void defMethod(){}
protected void proMethod(){}
public void pubMethod(){}
public PermissionTest1(){}
/**
* 测试在内部类的是否可以访问
* @param args
*/
public static void main(String[] args) {
PermissionTest1 orderTest1 = new PermissionTest1();
orderTest1.pri = 3;
orderTest1.def = 4;
orderTest1.pro = 5;
orderTest1.pub = 6;
orderTest1.priMethod();
orderTest1.defMethod();
orderTest1.proMethod();
orderTest1.pubMethod();
}
}
PermissionTest2
可以看到私有变量出现了红色的报错,错误信息为:pri' has private access in 'javaCore.OrderTest1.PermissionTest1',大意是pri变量有私有访问权限,我们无法访问
image.png
PermissionTest4
不同包下非子类的访问权限,只有public修饰的变量和方法可以被访问到
image.png
PermissionTest3
不同包下的子类的访问权限,protected和public修饰的变量都可以被访问到
image.png