结论:对于静态变量.静态初始化块.变量.初始化块.构造器,它们的初始化顺序依次是(静态变量.静态初始化块)>(变量.初始化块)>构造器. public class Test4 { @Test public void test(){ child child = new child(); } } class parent{ public static String parentStaticField = "父类静态变量"; public String parentNormalF…
做个简单笔录,就当是重温下基础知识. 1.先看代码: package com.test; public class Test { public static void main(String[] args) { Son s = new Son(); } } class Parent{ int parent = 10; { System.out.println("parent中的初始化块"); } static{ System.out.println("parent中stati…
初始化顺序:父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父类的非静态变量(父类的非静态代码块)-->父类的构造函数-->子类的非静态变量(子类的非静态代码块)-->子类的构造函数 值得注意的是:父类的非静态变量(父类的非静态代码块)是同一级的,看哪个部分写在类的最前面谁就先被执行,子类的非静态变量(子类的非静态代码块)也是一样. 验证代码: package com.hts.test; public class Test {…