使用private修饰属性实现私有化,2. 通过公共getter/setter方法控制访问,3. 在setter中加入校验逻辑确保数据合法性,如姓名非空、年龄合理等。

在Java中,实现对象属性私有化与访问控制是面向对象编程(OOP)中封装的核心体现。通过合理使用访问修饰符和提供公共方法来操作私有字段,可以有效保护数据完整性、提高代码可维护性。
使用private修饰属性
将类的字段声明为private是最基本的封装手段。这样外部类无法直接访问这些字段,避免了数据被随意修改。
例如:
public class Person {
private String name;
private int age;
// 外部无法直接访问name和age
}
提供公共的getter和setter方法
在私有字段基础上,通过公共的getter和setter方法控制属性的读取和修改,可在方法中加入逻辑校验。
- getter方法用于返回属性值
- setter方法用于设置属性值,并可进行合法性检查
public String getName() {
return name;
}
public void setName(String name) {
if (name != null && !name.trim().isEmpty()) {
this.name = name;
} else {
throw new IllegalArgumentException("姓名不能为空");
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 0 && age <= 150) {
this.age = age;
} else {
throw new IllegalArgumentException("年龄必须在0-150之间");
}
}
封装带来的优势
合理的封装不仅保护数据,还提升了程序的灵活性和可扩展性。
立即学习“Java免费学习笔记(深入)”;
- 可以在setter中添加日志、通知、验证等逻辑而不影响调用方
- 字段名或内部实现变化时,只要方法接口不变,外部代码无需修改
- 防止无效状态,如年龄为负数、用户名为空等
基本上就这些。只要坚持把字段设为private,通过受控的方法访问,就能写出更安全、更易维护的Java类。不复杂但容易忽略细节。










