在Java中,成员变量的访问权限可以通过使用不同的关键字进行设置。以下是四种访问修饰符:
- public:公共访问级别,表示该成员变量可以从任何其他类访问。
- protected:受保护访问级别,表示该成员变量可以被同一个包内的类以及所有子类访问。
- private:私有访问级别,表示该成员变量只能在其所在的类中访问。
- 默认(无修饰符):如果没有明确指定访问修饰符,则默认为包级私有访问级别,表示该成员变量只能被同一个包内的类访问。
以下是一个示例,展示了如何使用不同的访问修饰符来设置成员变量的访问权限:
// 文件名: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
。