jvm会先去方法区找有没有创建的对象存在,有直接就可以创建对象,没有就把该类加载到方法区
在创建类的对象时,首先会先去堆内存中分配空间
然后加载对象中的非静态成员变量到该空间中,所有的非静态成员变量加载完成后,对所有的非静态成员进行默认初始化
所有的非静态成员默认初始化完成后,调用相应的构造方法到栈中
在栈中执行构造函数时,先执行隐式,再执行构造方法中书写的代码
执行顺序:静态代码块,构造代码块,构造方法
当整个构造方法全部执行完后,会把堆内存中分配的空间地址赋给对象名,此对象创建完成
jvm会先去方法区找有没有创建的对象存在,有直接就可以创建对象,没有就把该类加载到方法区
在创建类的对象时,首先会先去堆内存中分配空间
然后加载对象中的非静态成员变量到该空间中,所有的非静态成员变量加载完成后,对所有的非静态成员进行默认初始化
所有的非静态成员默认初始化完成后,调用相应的构造方法到栈中
在栈中执行构造函数时,先执行隐式,再执行构造方法中书写的代码
执行顺序:静态代码块,构造代码块,构造方法
当整个构造方法全部执行完后,会把堆内存中分配的空间地址赋给对象名,此对象创建完成