首先,基于JAVA的特性,使用private更符合封装的思想。
其次,基于private生成的get/set方法可以对属性进行只读/只写或不对外开放。(不对外开放: 外部无法访问该属性,该属性的值只受特定因素影响。)
再次,如果用public定义该属性,若属性的类型后期发生改变,每一处直接调用该属性的代码都需要做对应修改;如果使用private修饰,只需要在该对象内部对get和set进行修改就可以达到目的。比如说之前使用的是时间的字符串,现在改为时间戳,由String转为Long,那么只需要在get/set方法处进行修改即可,不需要每处调用的地方都进行修改,结合第二点使用。
然后,如果说要对值进行一些特殊处理,比如说小数位最多只能有两位,那么直接在set方法处进行部分修改即可,不用每次都在赋值时额外写一段。
总结:比较实用的就是对象内属性类型发生改变时,可以做最少的改动;可以在set/get方法内进行自己的一些特殊处理;可以保证属性不会被随意访问到。