在 Java 中,private 是一种访问修饰符(access modifier),用来表示**“私有的”**。
它的核心作用是:限制访问范围,只能在本类内部访问,外部(包括子类、其他类)不能直接访问。
最常见用法:封装数据
public class Person {
private String name;
private int age;
public void show() {
System.out.println(name + " " + age);
}
}
❌ 外部不能直接访问:
Person p = new Person();
p.name = "Tom"; // 编译错误:name 是 private
✅ 正确方式:通过方法访问(getter / setter)
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
private 方法只能在本类中调用
public class Demo {
public void test() {
hello();
}
private void hello() {
System.out.println("private method");
}
}
子类不能继承或重写 private 方法。
可以控制对象创建方式(如单例模式)
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return instance;
}
}
public class Outer {
private class Inner {
}
}
Inner 只能在 Outer 中使用。
| 位置 | 是否能访问 private |
|---|---|
| 本类 | ✅ |
| 同一个包的其他类 | ❌ |
| 子类 | ❌ |
| 不同包的类 | ❌ |
✅ 保护数据安全
✅ 隐藏实现细节
✅ 方便后期修改逻辑
✅ 符合面向对象封装原则
private 属性
public getter / setter
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
如果你愿意,我也可以:
private / default / protected / public你更想了解哪一种?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。