在 Java 中,private 是访问修饰符(access modifier),在**封装(Encapsulation)**中扮演着核心角色。
封装是面向对象的三大特性之一,核心是:
隐藏对象的内部实现细节,只对外提供可控的访问方式
目的:
private 在封装中的角色private 修饰的成员:
public class Student {
private String name;
private int age;
}
❌ 外部不能直接:
Student s = new Student();
s.age = -10; // 编译错误
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:
student.age = -100;
有 private + setter:
student.setAge(-100); // 被拒绝
封装原则:
能 private 就 private,能不公开就不公开
private 是封装的第一道防线。
private 与其他修饰符对比| 修饰符 | 本类 | 同包 | 子类 | 其他包 |
|---|---|---|---|---|
| private | ✅ | ❌ | ❌ | ❌ |
| default | ✅ | ✅ | ❌ | ❌ |
| protected | ✅ | ✅ | ✅ | ❌ |
| public | ✅ | ✅ | ✅ | ✅ |
private是 Java 封装的基础,它用来隐藏数据,强制通过方法访问,从而保证对象的安全性和可控性。
如果你愿意,我也可以用生活比喻或面试回答版再讲一遍。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。