我在下面的帖子里面查看this的用法
http://bbs.csdn.net/topics/390669038
其中有这样一段代码
class Person{
private int age;
void setAge(int age){
this.age=age;
}
这里的this我理解是一定要加的,但是我完全可以避免使用this啊,如果我把代码改成
class Person{
private int age;
void setAge(int age1){ //把age改成age1
age=age1; //把age改成age1
}
这样就可以避免每次浪费时间考虑要不要加this,因为我总是可以令变量名不一样,那既然这样,为什么
大家还是会选择用一样的变量名,然后加个this,我认为是有点自己挖坑的感觉。
麻烦各位大师帮忙解答一下
------解决思路----------------------
你理解的是对的。
关于this,只能在方法内部使用,表示对“调用方法的那个对象”的引用。
这个地方的this.主要就是区分两个age。所以只要改成不一样的变量名就可以避免了。
另外像eclipse这样的IDE,你写this.会有提示,写起来方便一些,所以有些代码会有很多没用的this出现。
还有一些地方的this是绝对不能省略的,比如返回当前对象的引用(return this;);
------解决思路----------------------
有钱难买乐意呗,不要钻牛角尖,有时候this的引用增强了程序的可维护性
------解决思路----------------------
因为用同样的变量名有时会更方便或直观,
像你例子中的那样用age1,这样取变量名是很不好的,这种变量名不带有说明性,不能够一眼就看出他代表的是什么,当代码多了以后,查看时就容易混淆,还不如直接用age和this.age, 可以明确看出这两个变量都是代表年龄,加this的就是这个对象的,另一个就是传进来的