突然想到这个问题,为什么javaBean不直接使用public,而是用private 再提供get-set方法来获取和修改属性呢。看起来private-get-set增加了代码量,也就是为了能够获取和修改,直接用public不是也可以直接获取和修改么。
然后就在网上查了下各家的说法,总结了一下,也是为了说服自己去理解和记住。
1、java的封装性规定 (属于规定,但是现在一直这样使用,肯定是有道理的)
2、安全性,使用private的话,就可以单独控制某一个属性是否供获取或是修改,而使用public的,便可以随意修改
PS:前面2点,我个人觉得用public似乎并不会有什么问题
3、扩展性。单独使用public的话,只是简单的对属性进行获取和修改。使用private的话,可以在get和set方法中,对属性的值再次进行操作。可以控制属性为只读或只改。(这点我是认同的)
4、基于第3点的举例,更有说服力吧
直接给传送门吧
https://blog.csdn.net/jxqiaole/article/details/45372507
个人觉得,1、2两点主要是概念性的东西, 3和4才是实际使用中经常运用的,这可能也是javaBean会使用private-set-get的原因吧,以上仅是个人看法