在 Java 里,private 是最基础的访问控制修饰符,用来“保护数据”的核心思路是:不让外部直接访问对象的内部状态,只通过你允许的方式去读/写。下面从原理到实践讲清楚。
public class User {
private String password;
}
private 表示:只能在本类内部访问password✅ 防止:
public class User {
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
if (password == null || password.length() < 6) {
throw new IllegalArgumentException("密码太短");
}
this.password = password;
}
}
✅ 好处:
public class Config {
private final String env = "prod";
public String getEnv() {
return env;
}
}
✅ 防止外部修改
final 防止重新赋值private final int id;
✅ 一旦赋值不能改(构造时定)
private List<String> roles;
public List<String> getRoles() {
return new ArrayList<>(roles); // 拷贝
}
⚠️ 如果不拷贝,外部可能改你内部 List
❌ 错误:
public String password;
✅ 正确:
private String password;
甚至:
private byte[] passwordHash;
Java 中用
private保护数据 = 不让外部直接碰字段 + 用方法控制访问 + 必要时不可变 / 加密 / 拷贝
如果你愿意,我可以:
private vs protected vs 包访问免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。