1.安全性
属性private 化 只允许user(本)类的方法更改,其他类只能通过user的实例来访问set方法来赋值
public class user{ private String sex; public String getSex(){ return sex; } public void setSex(String sex){ this.sex = sex; } }
⑴只能被同类的方法访问而不能被类外的方法访问。get和set是指在类内的方法
⑵可以只对外提供get() 不给对方提供赋值方法
2.高扩展性(减少耦合)
⑴当需求改变时我们可以只修改get()和set()来解决问题
比如:
如果你的属性是public通过 new user().sex = 18 来赋值的 几处还好,如果有几百出会改到崩溃的。
id后期突然要改为 int类型 ,我们就可以直接在set()中更改,不用更改其他类
public void setID(String sex){ this.sex = Integer.parseInt(sex); }
⑵对属性进行精确的控制,限制sex只能是男或女 ,减少代码编写量
3.规范,习惯,可读性
get()取值和set()赋值已经基本成了java程序员的共识,大家看到get就知道是要取值,set就知道是要赋值,方便以后的开发人员可以很容易看懂,而不会是说:“这哪个傻X写的代码!”