java中代码块,构造方法和普通方法的代码执行顺序

静态代码块是最先执行的(在类加载时进行)

非静态代码块的内容只有在实例化对象时才会执行,

在Child Child = new Child()时,new Child()时就会创建一个对象了,但是这个对象还不会执行构造方法中的内容,然后带着这个创建的这个对象去执行非静态代码块中的 内容,执行完后,就去执行构造方法中的内容了,重点来了,其实在执行非静态代码块之前,会带着这个对象执行类中的成员变量部分,因为已经有了对象,所以就有了依附于对象的这些属性,那么这时这些属性的初始值就是这些属性的数据类型初始值,如果这些属性被赋值了,然后再被赋值。

猜你喜欢

转载自www.cnblogs.com/heureuxl/p/13388058.html