黑马程序员技术交流社区

标题: this.name = name; 为什么都填上this [打印本页]

作者: wyf20106    时间: 2014-8-10 17:50
标题: this.name = name; 为什么都填上this
本帖最后由 wyf20106 于 2014-8-10 23:19 编辑
  1. class  Person
  2. {
  3.         private String name;
  4.         private int age;

  5.          Person(String name)
  6.         {
  7.                 this.name = name;
  8.         }
  9.         Person(String name,int age)
  10.         {
  11.                 this.name = name;
  12.                  this.age = age;
  13.         }
  14.         public void speak()
  15.         {
  16.                 System.out.println("name="+this.name+"...age="+this.age);
  17.                 this.show();
  18.         }
  19.         public void show()
  20.         {
  21.                 System.out.println(this.name);
  22.         }
复制代码



作者: Joemi    时间: 2014-8-10 17:57
这里有篇博客,写的详细,你看看吧
http://blog.sina.com.cn/s/blog_6a6badc90100t8hm.html
作者: dispensable    时间: 2014-8-10 18:01
:Lthis 代表当前对象的引用,因为方法括号里的形参跟成员变量重名,所以要显式地用this来标识
作者: ❤如止水之絕境    时间: 2014-8-10 18:04
this是表示的当前的意思,程序从上向下执行,比如name的值改变了,貌似后面引用的this。name值就是最新值
作者: wyf20106    时间: 2014-8-10 18:06
Joemi 发表于 2014-8-10 17:57
这里有篇博客,写的详细,你看看吧
http://blog.sina.com.cn/s/blog_6a6badc90100t8hm.html ...

嗯好的,谢谢
作者: wyf20106    时间: 2014-8-10 18:10
dispensable 发表于 2014-8-10 18:01
this 代表当前对象的引用,因为方法括号里的形参跟成员变量重名,所以要显式地用this来标识 ...

嗯嗯 看懂了点。谢谢
作者: shuimu_88    时间: 2014-8-10 19:19
this表示对象的引用
作者: pengyu1801    时间: 2014-8-10 19:26
因为this是当前对象的引用,在本类中,用于区分重复的变量名
作者: 姜佳文    时间: 2014-8-10 21:06
你不写this他哪儿能分得出哪个是你传的参数,哪个是变量啊
作者: 酋长第一    时间: 2014-8-10 21:28
this表示代表这个类  this.num  就可以理解为 这个类的num变量




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2