在程序设计中,大家都知道很少定义一个public类变量,都是通过定义set和get方法来获取对该属性的访问权.下面描述下这样设计的好处:
- 一个很low的好处,方便自动补全时得到类的属性,只需要.set或.get就可以查看类的属性.
- 可以在get和set中控制用户行为.比如如下代码
private int mScore; public void setScore(int score) { if (score < 0 || score > 100) { throw new Exception(" out of bound!"); } mScore = score; }
可以在set方法中定义某种行为,更好的保证安全性.同样get方法中也可以修改用户所能获取的对象.
- 可以将set或get方法设置为private,比如将set方法设置为private可以保证用户不能修改属性值,保证只能初始化对象时赋值,在对象生命周期内不能修改.将get方法设置为private保证用户无法直接方法改变该属性,但可以通过set方法改变属性值来改变对象的状态.