0
class Test{

    int x;

    Test(int x){
        this.x = x;
    }
}

当我们说this.x = x构造函数还没有完成时,所以没有创建对象,那么this实际上如何引用尚未创建的对象呢?

4

1 回答 1

3

构造函数实际上更像是一个初始化器,而不是任何东西。当您调用构造函数时:

Test t = new Test(3);

new是实际分配/创建内存空间的关键字,然后调用构造函数在该内存中构建对象,初始化字段并将内存放置在需要的任何位置。这些都是在字段设置后面抽象出来的,这是我们通常在构造函数中所做的。

于 2020-02-24T16:00:26.887 回答