java中实体类的get和set方法的this说明
1.实体类的设计:私有的成员变量,向外提供方法获取修改成员变量
2.this指向的地址块
正常的setter方法如下:
public void setIspay(Boolean isPay) {
this.isPay = isPay;
}
问题引申:
public void setIspay(Boolean pay) {
ispay = pay;
}
两块代码的不同之处:
第二块代码:参数的名字和成员变量的名字不一致,没有使用this,明确指向该对象的成员变量
第一块代码:如果不用this。会有模糊的定义,不知道是参数赋值给参数,还是参数赋值给成员变量
这样的模糊界限,我认为jdk应该有很好的定义,最初我们学习的任何语言,他们的同名字变量的定义,已经限定他们的作用范围,和其他优先级别
我这里所说的优先级别,当前操作,更倾向于
局部变量,还是
全局变量。
所以:错误的使用
public void setIspay(Boolean isPay) {
isPay = isPay;
}
总结:
同名字变量的定义,已经限定他们的作用范围,和其他优先级别
在这里更倾向与优先赋值(ispay=ispay的结果,当然没有改动对象的成员变量值)