java如何封装赋值
封装赋值的基本概念
在Java中,封装是面向对象编程的四大特性之一,主要通过访问修饰符(如private、protected、public)和getter/setter方法实现。封装赋值的核心目的是保护类的内部数据,避免直接暴露给外部。
使用private修饰字段
将类的字段声明为private,防止外部直接访问或修改。例如:
private String name;
private int age;
提供getter方法
getter方法用于获取私有字段的值,命名规范为get字段名(布尔类型可用is字段名)。例如:

public String getName() {
return name;
}
public int getAge() {
return age;
}
提供setter方法
setter方法用于设置私有字段的值,通常包含参数校验逻辑。命名规范为set字段名。例如:
public void setName(String name) {
if (name == null || name.trim().isEmpty()) {
throw new IllegalArgumentException("Name cannot be empty");
}
this.name = name;
}
public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}
this.age = age;
}
使用构造方法初始化
通过构造方法封装初始赋值,避免对象处于无效状态。例如:

public Person(String name, int age) {
setName(name);
setAge(age);
}
结合Builder模式(可选)
对于复杂对象的赋值,可以使用Builder模式增强可读性和灵活性。例如:
public class PersonBuilder {
private String name;
private int age;
public PersonBuilder setName(String name) {
this.name = name;
return this;
}
public PersonBuilder setAge(int age) {
this.age = age;
return this;
}
public Person build() {
return new Person(name, age);
}
}
使用Lombok简化代码
通过Lombok注解自动生成getter/setter和构造方法,减少样板代码。例如:
@Data
@AllArgsConstructor
public class Person {
private String name;
private int age;
}
注意事项
- 避免在setter方法中直接赋值,应优先进行参数校验。
- 对于不可变对象,可以省略setter方法,仅通过构造方法赋值。
- 敏感字段(如密码)的getter方法应返回拷贝或加密后的值。






