在 Java 中,private 是一种访问修饰符(access modifier),用来限制成员(变量、方法、构造方法等)的访问范围。
private 的作用被 private 修饰的成员:
目的是:封装数据,保护内部实现。
public class Person {
private String name;
private int age;
public void show() {
System.out.println(name + "," + age);
}
}
❌ 错误用法(类外访问):
Person p = new Person();
p.name = "Tom"; // 编译错误
✅ 正确方式:通过 public 方法访问(getter / setter)
public class Calculator {
private int add(int a, int b) {
return a + b;
}
public int sum(int a, int b) {
return add(a, b); // 类内部可以调用
}
}
外部不能调用 add(),但可以通过 sum() 使用功能。
用于单例模式或限制对象创建方式。
public class Config {
private static Config instance = new Config();
private Config() {}
public static Config getInstance() {
return instance;
}
}
通常配合 getter / setter 使用:
public class Student {
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
if (age > 0) {
this.age = age;
}
}
}
✅ 好处:
| 修饰符 | 同类 | 同包 | 子类 | 任意 |
|---|---|---|---|---|
| private | ✅ | ❌ | ❌ | ❌ |
| 默认 | ✅ | ✅ | ❌ | ❌ |
| protected | ✅ | ✅ | ✅ | ❌ |
| public | ✅ | ✅ | ✅ | ✅ |
❌ private 不能被继承
✅ 子类不能访问父类的 private 成员,但可以继承(内存中存在)
如果你愿意,我也可以:
你想从哪个角度继续?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。