new 对象时的执行顺序:
1,静态资源(包括静态属性,静态方法,静态代码块):父类静态执行完所有静态资源再执行子类静态;执行一个类时,按所有静态资源的上下顺序来;(第一次new对象时就会检查这个类是否加载了,如果没有,就进行类加载,类加载的同时,静态资源也会同时加载;如果在new对象的时候类已经加载了,那么就不会再加载静态资源了,因为static只执行一次)
2,非静态资源(包括普通属性,构造器,匿名代码块(构造代码块)):父类执行完所有非静态资源然后再执行子类;(普通属性和匿名代码块在编译时会按上下顺序写在(每个)构造函数中的最前面,所以,)会先按普通属性和匿名代码块的上下顺序执行,最后执行构造函数中的代码
简单实例:
package com.briup.ch26;
public class TestDAIMAKUAI {
public static void main(String[] args){
System.out.println("运行TestDAIMAKUAI中的main函数,创建D类