Java类如何封装
封装的概念
封装是面向对象编程的三大特性之一(封装、继承、多态),指将对象的属性和行为(方法)包装在一个类中,并隐藏内部实现细节,仅对外提供可控的访问方式。
封装的核心原则
- 私有化属性:使用
private修饰符限制直接访问类的成员变量。 - 提供公共方法:通过
public的 getter 和 setter 方法间接操作属性,实现数据验证和逻辑控制。
实现封装的步骤
1. 私有化成员变量
将类的属性声明为 private,禁止外部直接访问:
private String name;
private int age;
2. 提供公共访问方法
通过 getter(获取属性值)和 setter(设置属性值)方法控制访问:
public String getName() {
return name;
}
public void setName(String name) {
if (name != null && !name.isEmpty()) {
this.name = name;
}
}
3. 添加逻辑验证
在 setter 方法中加入业务逻辑,确保数据合法性:

public void setAge(int age) {
if (age >= 0 && age <= 120) {
this.age = age;
} else {
throw new IllegalArgumentException("年龄无效");
}
}
封装的优势
- 安全性:防止外部代码随意修改内部数据。
- 灵活性:可在方法中添加额外逻辑(如数据校验、日志记录)。
- 可维护性:修改内部实现时不影响外部调用。
示例代码
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 0) {
this.age = age;
}
}
}
注意事项
- 对于不可变属性(如 ID),可仅提供 getter 方法。
- 若需完全隐藏内部实现,可使用接口或抽象类进一步隔离细节。






