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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1198914316 中级黑马   /  2014-10-16 20:04  /  2437 人查看  /  24 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

各位同学,我是一个新手大家帮我解释一下Java中this意思,看了好久就是不理解,有点乱,谢谢。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 加油!

查看全部评分

24 个回复

正序浏览
this所在方法所在的那个对象,不知道说明白没有。
回复 使用道具 举报
首先,this代表的是对象。那个对象?那个对象在调用this所在函数,就是那个对象。楼主首先要明白类与对象的概念
回复 使用道具 举报
this就是代表当前对象,目前的Java中有三种使用this的地方,分别是 this.xx  XXX(this)  this(xxx)
第一种后面的XX可以是当前对象的全局变量和方法,第二种是在一个方法或同步块中传入一个当前对象,举个例子,锁住当前对象:synchronized(this),第三种,当一个类的构造方法需要调用这个类的其他构造方法时使用。
回复 使用道具 举报
对你new出来的该对象进行的操作
回复 使用道具 举报
曾勇 中级黑马 2014-10-18 20:57:06
20#
本帖最后由 曾勇 于 2014-10-18 21:02 编辑

this 只能调用本类中的成员函数和成员变量,调用成员变量时用: this.成员变量 ;调用成员函数时用: this.成员函数();
回复 使用道具 举报
this就代表本类对象
回复 使用道具 举报
表示当前函数所在类的实力对象
回复 使用道具 举报
run_wind 发表于 2014-10-17 19:54
我觉的this和super一起,才容易混淆

不是吧,你啊,super指调用父类的,this是自己的,呵呵,慢慢来吧。。。
回复 使用道具 举报
情天不雨 发表于 2014-10-17 11:09
简单点,就是代表类自己,如果是成员变量,代表类自己的成员变量,方法代表自己的成员方法,和super在一 ...

我觉的this和super一起,才容易混淆
回复 使用道具 举报
this就表示当前的对象  哪个对象调用的包含this的方法   this就代表哪个对象
回复 使用道具 举报
朴日男 发表于 2014-10-16 20:36
把this, 想象成p 就行了, 这个例子中, 把 this 替换想象成 p . 那就成了 p.name ,  p.age 这样好理解吧? ...

请问你这个代码中
class Temp(有主函数)和class Person  都是类,this出现在了class Person中,能出现在有主函数的类中吗
回复 使用道具 举报
朴日男 发表于 2014-10-16 20:36
把this, 想象成p 就行了, 这个例子中, 把 this 替换想象成 p . 那就成了 p.name ,  p.age 这样好理解吧? ...

百度了一下,确实是2246岁。。。
回复 使用道具 举报
new999 中级黑马 2014-10-17 12:23:46
12#
坚持到底
回复 使用道具 举报
this表示调用当前方法的当前对象
回复 使用道具 举报
1198914316 发表于 2014-10-17 08:22
谢谢,您的帮忙。

简单点,就是代表类自己,如果是成员变量,代表类自己的成员变量,方法代表自己的成员方法,和super在一起比较容易理解些的
回复 使用道具 举报
朴日男 发表于 2014-10-16 20:36
把this, 想象成p 就行了, 这个例子中, 把 this 替换想象成 p . 那就成了 p.name ,  p.age 这样好理解吧? ...

谢谢,您的帮忙。
回复 使用道具 举报
this:代表一个本类对象的引用。
super:代表一个父类空间。
  1. class Fu
  2. {
  3.         private int num = 4;
  4.         public int getNum()
  5.         {
  6.                 return num;
  7.         }
  8. }

  9. class Zi extends Fu
  10. {
  11.         private int num = 5;
  12.         void show()
  13.         {
  14.                 System.out.println(this.num+"....."+super.getNum());
  15.                 //输出结果为 5.....4
  16.                 //可以看出,this.num  指的是本类的中5
  17.         }
  18. }

  19. class ExtendsDemo2
  20. {
  21.         public static void main(String[] args)
  22.         {
  23.                 Zi z = new Zi();
  24.                 z.show();
  25.         }
  26. }
复制代码
回复 使用道具 举报
this顾名思义,就是中文的”这“,this。后面跟随的变量或者方法,其含义,就调用this的这个类 或者方法。
回复 使用道具 举报
this关键字:用于区分局部变量和成员变量同名的情况
this代表类的对象,代表它所在方法所属对象的引用,那个对象在调用this所在的方法,this就代表那个对象
回复 使用道具 举报
mjwp_cool 来自手机 中级黑马 2014-10-16 23:37:40
报纸
楼上说的对,this代表本类对象。就是调用者
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马