1. 大部分人的直觉:new
+构造方法
首先我们思考一下我们如何创建一个对象,最普通的方式就是:new
+构造方法。所以很正常,我们会认为做完这件事之后,一个对象就被创建了。其实这并没错,因为我们完成这件事之后我们就可以对该对象做各种操作:访问某些字段,调用某些方法等。但是这取决于,你怎么理解“创建对象”对象这件事。
2. 构造方法其实是一个很矛盾的存在
我们在构造方法中最常做的事情是这样的:
public ClassA(int a) {
this.a = a;
}
这里的this
,指代的就是当前对象。但是我们用构造方法来创建一个对象,我们的理解应该是:构造方法结束之后,该对象才被创建、实例化完成