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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yan5108652 中级黑马   /  2013-5-17 14:57  /  2020 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yan5108652 于 2013-5-20 23:00 编辑

this关键字在一个类的方法里表示的是当前对象,那么类.this代表的是?
他们的区别在于哪啊?

评分

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

查看全部评分

9 个回复

倒序浏览
我是来看头像的!正好肚子饿了!!啊啊啊啊
回复 使用道具 举报
你说的是这种情况吧:
public class Outer {
       private int size;
       public class Inner {
              private int size;
              public void doStuff(int size) {
       size++;  // 引用的是doStuff函数的形参
       this.size++; // 引用的Inner类的成员变量
       Outer.this.size++; // 引用的Outer类中的成员变量
}
}
}

这个表示访问 内部类中外部类的 size 变量

评分

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

查看全部评分

回复 使用道具 举报
可以这么理解this是省略了当前类的调用:当前类.this.
这样类.this. 的结构就跟上面的一个类型了,但实际貌似就是这么回事
回复 使用道具 举报
  一般在构造方法里面比较常见 还有当你区分不清楚的时候对象的时候
回复 使用道具 举报
|——内置类中很重要的访问位置:(很重要)
                                class Outer{
                                        private int num = 3;        //访问这里用 Outer.this.num;
                                        class Inner{//这里内置类可以访问外部类的成员(方法和属性)
                                                int num = 4;        //访问这里用 this.num;   也可以用Inner.this.num;
                                                void show(){
                                                        int num = 5; //访问这里用 num;
                                                        System.out.println("show run "+Outer.this.num);
                                                }
                                        }
                                       
                                        void method(){
                                                new Inner().show();
                                        }
                                }
回复 使用道具 举报
点 你就想象成 的 嘛
类.this表示 某个类的this,而this它代表对象,哪个对象去调用 它就指向哪个对象代表哪个对象。
所以类.this  就是某个类的对象的什么什么
this  就是某个对象的什么什么
回复 使用道具 举报
9、this关键字
        (1)this关键字代表本类对象的一个引用,谁调用this所在的方法,this就代表谁  
        (2)this的使用场景
                A:用于区分同名成员变量和局部变量;
                B:在定义函数时,该函数内部要用到调用该函数的对象时,因为此时对象还没建立,故this代表此对象
                B:构造函数间调用:这个时候,this(参数)必须作为第一条语句存在。

评分

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

查看全部评分

回复 使用道具 举报
Sword 金牌黑马 2013-5-17 17:14:35
9#
this的几点总结;

1.        this是用于区分局部变量和成员变量同名情况。
2.        this 代表它所在函数所属对象的引用。哪个对象在调用this所在的函数 ,this 就代表哪个对象。
3.        this 的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。
4.        this语句用于构造函数之间进行互相调用。
5.        this语句只能定义在构造函数的第一行。
总而言之,this是指当前对象,哪个对象在调那个方法,this就代表那个对象。
回复 使用道具 举报
ZhaoYuBetter 发表于 2013-5-17 15:19
你说的是这种情况吧:
public class Outer {       private int size;       public class Inner {         ...

谢谢你。已经理解了,就是你说的这种情况,thank you !
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马