日期:2014-05-20  浏览次数:20667 次

this和构造器
“由于构造器是直接使用new关键字来调用,而不是用对象来调用,所以this在构造器中引用的是该构造器进行初始化的对象”

这句话是什么意思?

各位高手,帮忙小弟解决一下,感激不尽。谢谢咯

------解决方案--------------------
由于new是建立对象的操作,即调用相应类构造器来实现初始化的,而this就表示你当前正在进行操作的这个对象。
------解决方案--------------------
就是说构造方法里的this,就是指向当前构造方法正在被执行而创建的对象
用代码来说明

Java code
class A {
    public A() {
        this.getClass(); //这里的this就是指向A()构造方法正在被执行而创建的对象
    }

    public static void main(String[] args) {
        A a = new A(); //此时构造方法被执行,所以构造方法里的this,就是指向此时new A()所创建的对象
                          //也就是说,此时的构造方法的this和a指向相同的对象
    }
}

------解决方案--------------------
探讨
就是说构造方法里的this,就是指向当前构造方法正在被执行而创建的对象
用代码来说明


Java code
class A {
public A() {
this.getClass(); //这里的this就是指向A()构造方法正在被执行而创建的对象
}

public static void main(String[] args) {……

------解决方案--------------------
构造器的this指当前对象,就是new出来的对象。