在java中,构造方法执行有两个阶段
1.对象的创建
2.对象的初始化
大家是否有过这样的疑问
例如图中的有参构造方法里
this为什么能用
this不是指当前对象吗,还没构造结束呢,哪来的对象
这里就涉及到对象的创建
其实在构造方法执行时有两个阶段
第一个阶段:对象的创建
在构造方法执行前,"new"这个运算符会先创建一个对象,放到堆内存当中,并且系统会对象中的所有属性赋默认值
所以this才能在构造方法里使用
第二个阶段:对象的初始化
对象创建完成后,构造代码块会执行(如果有的话),然后紧接着就是构造方法执行,当构造方法体执行完毕,也标志着对象完成初始化。