关于get和set方法是干什么用的我就不多说了,这里只说一下我最近学习过程中突然产生的一个疑问,java中为什么要采用这样一种机制?上网搜了半天最终感觉这种解释比较靠谱一点,应该是就是为了可以做出一个标记,从而可以实现java域变量的封装性和安全性。如果直接将成员变量设置为public权限,那么对于该成员变量的访问和修改的控制就不再是由封装它的对象来控制的,而是由调用它的类来控制,这样首先破坏了java面向对象的封装性。其次,如果不采用这样一种标记手段,那么程序员何时何地修改域变量的值也很难控制和排查,从而影响安全性。为了解决这两个问题,人们约定成一种习惯,也就是get和set方法来对域变量进行管理。
参考文章:
http://my.oschina.net/u/1019341/blog/134613
http://zhidao.baidu.com/link?url=UJMB1uBuFMuOM2ym21hXrb4v1Om_-sKiNoYNnsgkkyApNpuVE80aJvHtM_v0kxD7uCHq5kKTuS95-uy9G0s-ga