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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天学习了this关键字,说是代表当前对象的引用,可总是觉得不理解

3 个回复

倒序浏览
举个例子
  1. public calss Person {
  2.         String name;
  3.         //无参构造
  4.         public Person(name) {
  5.                 this.name = name;
  6.         }
  7. }
复制代码
构造方法参数列表里,传递来一个参数:name。而Person类本身,也有一个成员变量name。怎么区别这两个name呢?
当        Person p = new Person("张三");
如果直接写name = name,由于就近原则,这两个name都表示的是参数列表里的,无法对对象进行赋值,
就有了this关键字。this表示本类对象的引用,this.name 即表示Person的对象调用的name,
this.name = name; 就可以表示,把参数列表的name("张三"),赋值给这个对象的name
回复 使用道具 举报
this 代表当前对象的引用
回复 使用道具 举报
this 表示当前对象
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马