当前位置: 代码迷 >> J2SE >> java this 的用法解决方案
  详细解决方案

java this 的用法解决方案

热度:79   发布时间:2016-04-23 19:51:07.0
java this 的用法
我在下面的帖子里面查看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的引用增强了程序的可维护性
------解决思路----------------------
引用:
Quote: 引用:

你理解的是对的。

关于this,只能在方法内部使用,表示对“调用方法的那个对象”的引用。

这个地方的this.主要就是区分两个age。所以只要改成不一样的变量名就可以避免了。

另外像eclipse这样的IDE,你写this.会有提示,写起来方便一些,所以有些代码会有很多没用的this出现。

还有一些地方的this是绝对不能省略的,比如返回当前对象的引用(return this;);

其实我最想知道的是为什么很多时候明明可以用不同的变量名,然后不用this,却非得要用一样的变量名,然后加个this

因为用同样的变量名有时会更方便或直观,
像你例子中的那样用age1,这样取变量名是很不好的,这种变量名不带有说明性,不能够一眼就看出他代表的是什么,当代码多了以后,查看时就容易混淆,还不如直接用age和this.age, 可以明确看出这两个变量都是代表年龄,加this的就是这个对象的,另一个就是传进来的
  相关解决方案