在 Java 中,**封装(Encapsulation)**是面向对象编程(OOP)的四大基本特性之一(其余三个是继承、多态、抽象)。
封装是指把对象的属性(数据)和操作数据的方法(行为)捆绑在一起,并隐藏对象的内部实现细节,只对外提供公共的访问方式。
简单来说:
隐藏细节,暴露接口
通常通过以下方式实现:
public class Student {
// 私有属性(对外隐藏)
private String name;
private int age;
// 公共的 get 方法
public String getName() {
return name;
}
// 公共的 set 方法
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
// 在 set 方法中控制合法性
public void setAge(int age) {
if (age > 0 && age < 150) {
this.age = age;
} else {
System.out.println("年龄不合法");
}
}
}
使用:
Student s = new Student();
s.setName("张三");
s.setAge(20);
System.out.println(s.getName());
| 修饰符 | 本类 | 同包 | 子类 | 任意 |
|---|---|---|---|---|
| private | ✅ | ❌ | ❌ | ❌ |
| 默认 | ✅ | ✅ | ❌ | ❌ |
| protected | ✅ | ✅ | ✅ | ❌ |
| public | ✅ | ✅ | ✅ | ✅ |
Java 封装就是:把属性藏起来,用方法管起来。
如果你愿意,我也可以结合实际项目场景或面试问法给你讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。