package com.test; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test extends Parent { private static String str = "子类静态属性3"; static { Parent.println(str); Parent.println("子类静态块4"); } private String string = "子类属性10"; { Parent.println(string); Parent.println("子类块11"); } private boolean result = true; public Test() { super(); Parent.println("子类构造器12"); } public String getSubString() { return !result ? "子类属性默认值6" : string; } public static void main(String[] args) { System.out.println("子类Main方法"); new Test(); } } class Parent { static private Pattern pattern = Pattern.compile("(\\D+)(\\d+)"); static private int count = 0; private static String str = "父类静态属性1"; static { Parent.println(str); Parent.println("父类静态块2"); } { Parent.println(getParentString()); Parent.println(getSubString()); } private String string = "父类属性7"; { Parent.println(string); Parent.println("父类块8"); } private boolean result = true; public Parent() { super(); Parent.println("父类构造器9"); } public String getSubString() { return null; } public String getParentString() { return !result ? "父类属性默认值5" : string; } public static void println(String out) { Matcher matcher = pattern.matcher(out); if (matcher.find()) { System.out.println(String.format("%02d、%7s %02d", ++count, matcher.group(1), Integer.valueOf(matcher.group(2))) .replaceAll(" ", " ")); } } }
输出结果:
01、 父类静态属性 01
02、 父类静态块 02
03、 子类静态属性 03
04、 子类静态块 04
子类Main方法
05、父类属性默认值 05
06、子类属性默认值 06
07、 父类属性 07
08、 父类块 08
09、 父类构造器 09
10、 子类属性 10
11、 子类块 11
12、 子类构造器 12
相关推荐
介绍一下java程序初始化的顺序,这会对您以后的开发所有帮助
Java初始化顺序1
详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。
本篇文章主要介绍了Spring 中如何控制2个bean中的初始化顺序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
作为一名程序员必须知道Java初始化顺序......
一个java代码初始化具体过程的的demo
C++和Java初始化顺序的比较代码, 详细的解说请参考博客地址, http://blog.csdn.net/ostrichmyself/archive/2010/11/25/6035538.aspx
对java类初始化以及顺序,详解,由于转载仅供大家参考!
java面试题-类的初始化顺序.doc 大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,...
具体内容见博客
详细介绍了Java的静态成员变量、静态数据块、非静态成员变量和非静态成员变量等初始化顺序
java 静态_非静态 字段_方法_代码块 子类父类构造_初始化顺序! 三个class 让你清清楚楚 第一个class java代码如下: package initialOrder; class Parent { // 静态变量 public static String p_StaticField...
对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序依次是(静态变量、静态初始化块)>(变量、初始化块)>构造器
“礼让”原则学习Java对象初始化顺序
java对象的初始化顺序[参考].pdf
在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、链接和初始化,网上关于Java中对象初始化顺序的文章很多,这篇文章我们将详细介绍Java中对象初始化顺序。有需要的可以参考学习。
JAVA面试题解惑系列(一)——类的初始化顺序-JAVA程序员JAVA工程师面试必看
JAVA面试题解惑系列类的初始化顺序JAVA程序员JAVA工程师面试必看.pdf