黑马程序员技术交流社区

标题: this这个关键字该怎么用呢? [打印本页]

作者: 18334705181    时间: 2014-8-4 19:12
标题: this这个关键字该怎么用呢?
this这个关键字该怎么用呢?教程上说的好麻烦,快被整糊涂了,求解
作者: 追逐我的明天    时间: 2014-8-4 20:21
this 关键字代表的是当前对象的引用
this 也可以传值把当前对象的地址值传出去
作者: supertoy    时间: 2014-8-4 20:31
【People p = new People()】此时,this和p指向的是同一个地方
作者: 段金福    时间: 2014-8-4 20:34
一个方法中 要用到调用者的时候 用户this 代表当前调用该方法的对象。构造方法中也可以用this传递参数给已有的构造函数构造,
作者: 侯岩卿    时间: 2014-8-4 20:36
this代表其所在函数所属对象的引用,也就是本类对象的引用,简单说:哪个对象调用了this所在的函数,this就代表哪个对象。
作者: 晋一峰    时间: 2014-8-4 21:20
this代表当前类的一个对象。谁调用代表谁。
应用场景:
                (1):使用本类的成员变量
                        this.变量名;
                (2):使用本类其他构造方法
                        this(...)
                (3):使用本类的其他成员方法
                        this.方法名();
作者: 南柯一梦    时间: 2014-8-4 21:20
this带表当前类对象,一般用于区分局部变量同名问题
作者: chulangren2    时间: 2014-8-4 21:28
A:当局部变量和成员变量重名的时候,可以用this进行区分。
                B:this调用成员方法
                C:构造函数中使用this
                        **this() 必须放在第一行。

作者: guanxiangliang    时间: 2014-8-4 21:35
this代表的是本类对象的引用。。。。
作者: justin1258    时间: 2014-8-4 21:42
只要记住一点就行:在调用某个对象的方法时,JVM隐式地会将你调用的对象的引用以参数的方式传给方法,作为方法的第一个参数,你所传的第一个参数在JVM看来其实是第二个参数。当你在方法里引用this的时候,指的就是传进方法里的对象引用。
作者: xj55646    时间: 2014-8-4 21:43
this即对象的引用
作者: liqi    时间: 2014-8-4 21:48
三种:
1    构造方法中,如果一个构造方法中需要调用另一个:this();
2    当成员变量和局部变量重名:格式: this.变量;
         类的  成员变量   String  name= null;  
     方法中参数  public  void   a(String  name)
               { this.name=name}        等号前用this是成员变量,等好后是局部变量。(你应该明白成员变量  
                                                     name,和方法中的参数name,不一样,根本没有关系)
3,  代表当前对象:格式 this.方法名()
          调用时 new的那个对象,那么this就代表当前对象: 如果是 p1=new .... 调用该方法 那么this就代表p1,
         如果 p2=new .... 调用该方法 那么this就代表p2,不过一般省略,因为调用方法  对象.方法名(),已经指明了对象、
作者: liqi    时间: 2014-8-4 21:50
liqi 发表于 2014-8-4 21:48
三种:
1    构造方法中,如果一个构造方法中需要调用另一个:this();
2    当成员变量和局部变量重名 ...

懒得敲代码了,不过说的已经很详细了
作者: C.C.    时间: 2014-8-4 21:52
当一个对象创建后,Java虚拟机就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this。
作者: chensuyu    时间: 2014-8-4 22:01
调用本方法中的成员变量
作者: 怀念黑海岸    时间: 2014-8-4 22:10
一句最简单的话,this就是代表对象,什么对象,正调用this关键字所在代码段的对象,一段代码中有个this关键字,然后一个对象跑来执行这段代码的话,那么this就是指这个对象。这下明白了吧。
作者: LFW    时间: 2014-8-4 22:11
毕老师的都是大白话,一遍没懂看两遍。
作者: liang926    时间: 2014-8-4 22:15
this关键字:        (1)是一个关键字。代表当前对象的引用。                 //简单记:在方法中,哪个对象调用方法,this就代表谁。         (2)应用场景:                 解决局部变量隐藏成员变量问题。                 在构造方法中调用其他的构造方法(必须写在第一行)
作者: Franklin    时间: 2014-8-4 22:17
网上可以搜搜

作者: dingpanbo    时间: 2014-8-4 22:23
this 代表当前的对象引用
作者: 0小菜鸟0    时间: 2014-8-4 22:28
你只要记住这点,就是你想用当前类的自己带的属性的时候你就用this关键字,不过Staic方法中不能有this关键字
作者: 郭旭辉    时间: 2014-8-4 22:49
this是对本类对象的调用。。super是对父类对象的调用。
作者: 罗超8849    时间: 2014-8-4 23:01
就是引用当前类的意思吧


作者: 18334705181    时间: 2014-8-5 10:49
好吧,谢谢诸位了

作者: 王洪涛    时间: 2014-8-5 15:49
比如:public void setThis(int a){
                 this.a = a ;
{
然后要创建多个对象类调用这个setThis()方法,哪个对象调用this就代表哪个对象
作者: 安少康    时间: 2014-8-5 16:16
本类对象调用。
作者: cyc523633157    时间: 2014-8-5 16:29
this 关键字代表的是当前对象,如果吗没有,则从父类去找。




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