/** * * * @author wxy * @date 2018年10月30日 下午1:45:02 */ public class StaticTest { public static void main(String[] args) { SubClazz sub = new SubClazz(); } } class SupClazz { private static String supStaticStr = "父类-静态-变量"; private String supNormnalStr = "父类-普通-变量"; static { System.out.println(supStaticStr); System.out.println("父类-静态-域"); } { System.out.println(supNormnalStr); System.out.println("父类-普通-域"); } public SupClazz() { System.out.println("父类-构造函数"); } } class SubClazz extends SupClazz { private static String subStaticStr = "子类-静态-变量"; private String subNormnalStr = "子类-普通-变量"; static { System.out.println(subStaticStr); System.out.println("子类-静态-域"); } { System.out.println(subNormnalStr); System.out.println("子类-普通-域"); } public SubClazz() { System.out.println("子类-构造函数"); } }
输出:函数
父类-静态-变量 父类-静态-域 子类-静态-变量 子类-静态-域 父类-普通-变量 父类-普通-域 父类-构造函数 子类-普通-变量 子类-普通-域 子类-构造函数
备注:「静态变量和静态做用域」,「常规变量和常规做用域」的前后顺序等同于代码出现的前后顺序。