java如何访问
Java访问权限控制
Java中通过访问修饰符实现权限控制,包括public、protected、default(包级)和private四种级别。
访问修饰符作用范围
- public:对所有类可见,跨包访问需import对应类
- protected:同一包内及子类可见
- default(无修饰符):仅同一包内可见
- private:仅当前类可见
类成员访问示例
public class AccessExample {
public int publicVar;
protected int protectedVar;
int defaultVar;
private int privateVar;
public void accessTest() {
publicVar = 1; // 允许
protectedVar = 2; // 允许
defaultVar = 3; // 允许
privateVar = 4; // 允许
}
}
class OtherClass {
void testAccess() {
AccessExample ae = new AccessExample();
ae.publicVar = 10; // 允许
ae.protectedVar = 20; // 同包允许
ae.defaultVar = 30; // 同包允许
// ae.privateVar = 40; // 编译错误
}
}
跨包访问规则
创建不同包的子类时,protected成员可见性:

// 包1
package pkg1;
public class Parent {
protected String protectedField;
}
// 包2
package pkg2;
import pkg1.Parent;
public class Child extends Parent {
void method() {
protectedField = "accessible"; // 通过继承访问
}
}
最佳实践
- 优先使用private保证封装性
- 谨慎使用public暴露API
- protected适用于需要被子类修改的成员
- 包级访问适合内部组件通信
注意:外部类只能声明为public或default,内部类可以使用所有访问级别。






