比如new一个Person对象
Person p=new Person("张",20);
1.new person类之后,加载person.class文件加载到内存中
2.执行该类中的static代码块,对Person.class进行初始化
3.在堆内存中开辟空间,分配内存地址
4.在堆内存中建立对象的特有属性,并对其默认初始化
5.对特定属性进行显示初始化
6.对对象进行构造代码块初始化
7.进行构造函数初始化
8.将内存地址付给栈中的对象变量
执行优先级:
静态代码块初始化----默认初始化------显示初始化------构造代码块初始化----构造函数初始化
至于普通方法是在这些过程之后的事情了,你调用他才会执行 |