public class User{ private String name = null; public void setName(String n){ name = n; } public String getName(){ return name; } } public class User1{ public String name = null; } 这两个类,前一个类的name属性为private的, 第二是public的。如果你发现一个问题,可能是因为 这个类的name属性被程序错误的改变了而引起的。显然,用第一种实现,更容易发现问题,毕竟你可以把问题集中到一点:setName方法的调用处。而第二种就麻烦了。
而这个属性是public的,那么你怎么好确定它是在哪里被改变的呢,
但你把它定义成private的,那么,你就可以查看所有调用过它的setter方法的地方就可以了。
不至于像大海捞针一样。
class User {
// 用户类的成员变量(分别对应User表中的属性)
private String name;
private String password;
private String email; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} // ... 其他变量也定义Getter()和Setter()方法。
}
// 用户数据控制类
class UserTest {
public static void main(String[] args) {
// 定义一个用户对象,且初始化
User u = new User();
u.setName("zhangsan");
u.setPassword("123456");
u.setEmail("[email protected]");
// 直接传User类的对象就可以了。
// 中间经过的类不用关心User类每个属性。
// 调用其他类,传递这个类
UserDB ud = new UserDB();
ud.save();
}
}
// 负责保存到数据库的类。
class UserDB {
// 保存到数据库。
public void save(User u) {
// 这里就可以得到User类里的所有要保存的数据了。
// 保存
}
}取的时候就更简单了,取出来的时候包装成一个User对象。
那么,想要什么取什么。
public class User{
private String name = null;
public void setName(String n){
name = n;
}
public String getName(){
return name;
}
}
public class User1{
public String name = null;
}
这两个类,前一个类的name属性为private的,
第二是public的。如果你发现一个问题,可能是因为 这个类的name属性被程序错误的改变了而引起的。显然,用第一种实现,更容易发现问题,毕竟你可以把问题集中到一点:setName方法的调用处。而第二种就麻烦了。