在Java中,成员变量的访问权限可以通过使用不同的关键字进行设置。以下是四种访问修饰符:
以下是一个示例,展示了如何使用不同的访问修饰符来设置成员变量的访问权限:
// 文件名:AccessTypeDemo.java
package com.example;
public class AccessTypeDemo {
// 公共访问修饰符
public int publicVar;
// 受保护访问修饰符
protected int protectedVar;
// 默认(包级私有)访问修饰符
int defaultVar;
// 私有访问修饰符
private int privateVar;
}
// 文件名:AccessTypeDemoSubClass.java
package com.example;
public class AccessTypeDemoSubClass extends AccessTypeDemo {
public void accessMembers() {
// 访问公共成员变量
publicVar = 10;
// 访问受保护成员变量
protectedVar = 20;
// 无法直接访问默认(包级私有)成员变量
// defaultVar = 30; // 编译错误
// 访问私有成员变量(通过公共方法)
privateVar = 40;
System.out.println("Private variable value: " + getPrivateVar());
}
// 公共方法,用于获取私有成员变量的值
public int getPrivateVar() {
return privateVar;
}
}
在上面的示例中,publicVar
和 protectedVar
可以在任何类中访问,defaultVar
只能在同一包内的类中访问,而 privateVar
只能在 AccessTypeDemo
类中直接访问。在子类 AccessTypeDemoSubClass
中,可以通过公共方法 getPrivateVar()
来访问私有成员变量 privateVar
。