本帖最后由 廖力 于 2012-11-13 02:01 编辑
一个类实例化顺序是
1父类静态块
2子类静态块
3父类自由块
4父类构造函数块
5子类自由块
6子类构造函数块- public class MainClass {
- public static void main(String[] args) {
- new InitialOrderTest();//1,5
- }
- }
- class InitialOrderTest {
- public static String staticField = "静态变量";//2
- public String field = "变量";//8
- static {
- System.out.println(staticField);//3
- System.out.println("静态初始化块");//4
- }
- {
- System.out.println(field);//9
- System.out.println("初始化块");//10
- }
- public InitialOrderTest() {//6
- //7进入父类Obeject类
- System.out.println("构造器");//11
- }
- }
复制代码 代码中的注释说明运行顺序
所以上面的代码运行结果是:
静态变量
静态初始化块
变量
初始化块
构造器 |