package com.test;public class Test1{
public Test1(){
this(12);
} public Test1(String str){

}
public Test1(int i){

}
}
我就是想问一下,构造方法里面引用了另一个构造方法用this,那么请问这个指当前对象的this是指什么呢?是不是指当前的线程呢?

解决方案 »

  1.   

    你说的这个this指的是当前对象,不是指线程
    其实你这个例子是在构造方法里面调用其他的构造方法
    this(12) 的意思是 带哦用public Test1(int i){}这个构造方法 
      

  2.   

    构造方法可以看成是静态方法。
    this(12)相当于调用Test1(12)方法
      

  3.   

    this指的是当前对象,,静太方法不能用这个调用,,必须类名.方法名或类名.属性
      

  4.   

    this(12) 的意思是 带哦用public Test1(int i){}这个构造方法。。嗯,对的
      

  5.   

    this如果简单的想,那么就是当前类或者对象的一个别名,但是只在当前有用,也就是说,在类中,那么this就代表这个类本身,如果牵涉到需要把某个对象注册给监听者,那么就是是对象本身,你在事件响应的时候就会遇到的,OK
      

  6.   

    this是当前的变量的属性,避免程序编译混乱
      

  7.   

    在你这例子中,this代表当前类(Test1)
      

  8.   

    那么为什么不能写:
    package com.test;public class Test1{
    public Test1(){
    Test1(12);
    } public Test1(String str){

    }
    public Test1(int i){

    }
    }把this改成类名就报错,这又是为什么呢?
      

  9.   

    如果你那样写 系统会认为它是你的类中的方法
    假如你的类中定义这样的方法 这种写法完全可以
    public void Test1(int i){}
      

  10.   

    你说的这个this指的是当前对象,不是指线程
    其实你这个例子是在构造方法里面调用其他的构造方法
    this(12) 的意思是 带哦用public Test1(int i){}这个构造方法
      

  11.   

    this 是指 当前对象  每一个对象都有自己的this
      

  12.   

    是当前类引用 ..就是用int参数的构造方法来实例化对象~
      

  13.   

    this可以表示类中的属性,可以调用本类中的构造方法,也可以表示当前对象。this(12)应该是调用Test1(int i)
      

  14.   

    回复17#楼:
       this的使用方法:
        a.用在构造函数中区别和成员变量中同名的局部变量;
        b.用在构造函数中的调用【this(name)】,并且务必使用在构造函数的第一行。
    注意:其中a种情况使用很频繁,而第二种情况使用较少,至于第二种情况为何构造函数间可以用this调用,我理解是一种规定的用法。至于底层原理,也不是很清楚。