日期:2014-05-20  浏览次数:20638 次

public 和 private 的疑问
有一个存储注册信息的类 ,msg_Register
public class msg_Register implements Serializable{
public String password;
public String nick;

public msg_Register(String nick,String pwd) {
this.setPassword(pwd);
this.setNick(nick);
}
}

读信息的时候只要直接 instance.password 或者 instance.nick 就可以了
这样做很方便吧,可看见好多程序里把一些字段设成private, 读取时要在类里写get,这样一个个写好麻烦的

想请教下什么时候该用 public ,什么时候又该用 private 呢?

------解决方案--------------------
不是为了防破解,设为private,然后通过定义get set方法,其实是提供了一个给用户的接口而已,对于只读的属性只提供get,不提供set,这样也可以避免误操作. 将所有的属性全都暴漏出来是非常不安全的.
------解决方案--------------------
探讨
get方法中可以做些逻辑判断

------解决方案--------------------
探讨
可程序为什么要保护呢,怕被人破解么?

他真的要破解,你private 就有用了?

------解决方案--------------------
其实private和public做的工作很简单,一个面向类定义内部,一个面向外部,类内部定义变量为什么要用private然后用public进行封装,目的就是为了让外部无法知道你这个类内部究竟具有什么属性,因为你的封装和你的内部定义是相互独立的。当然封装的里面也具有set和get方法,这个可以用来设置访问权限,从而控制外部对此类对象的一些作用是在你要求的范围之内。