执行顺序:父类静态块–>子类静态块–>父类非静态块–>父类构造方法–>子类非静态块–>子类构造方法–>自动装载的方法
子类和父类均加上@Service注解,将其交给spring容器管理。
父类:
@Service
public class Father {public static void regist(){System.out.println("Father regist");}static {System.out.println("Father中的静态块:1");}static {System.out.println("Father中的静态块:2");}public void m1(){System.out.println("Father中的非静方法 m1");}public Father() {System.out.println("Father构造方法");}}
子类:
@Service
public class Child extends Father {@Autowiredpublic void t1(){Father.regist();System.out.println("Child regist");}static {System.out.println("Son中的静态块:1");}static {System.out.println("Son中的静态块:2");}{System.out.println("Son中的非静态块");}public Child() {System.out.println("Son构造方法");}
}
运行项目时,打印如下: