A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天方地圆 中级黑马   /  2014-3-4 22:44  /  917 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1.         Student(String name, int age)
  2.                 {
  3.                         this.name = name;
  4.                         this.age = age;
  5.                 }
复制代码


this.name = name;  这句话的详解?

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

6 个回复

倒序浏览
this.name 是本对象里面的name成员   右边的name是外部传进来的值,  因为在{}里面有两个name,需要区分用的是哪个name?所以对于对象成员的name前面添加this.

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
两个 name 重名了,需要用this来表示那一个name是本类的成员。
回复 使用道具 举报
this指代当前类,你可以把它看成当前类的一个对象,this.name=name,其实你写成name=name也是可以的,但为了仔细区分,this.name表示当前类中的成员变量,name表示构造时传过来的变量.

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
this.name=name的意思:左边this.name是指当前对象的成员,右边的name是指形式参数name.就是把形参name赋值给成员name.

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
其实这样理解比较容易,this是对象自己指向本身的指针所以this.name 指的就是对象本身的成员变量,右边的name是传进来的参数,记住那个对象里调用this那个this就是代表谁自己!希望帮到你啊!!!

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
恩 ,明白了 ,多谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马