> 文档中心 > 【New Star】Java类的初始化过程

【New Star】Java类的初始化过程


每一个不曾起舞的日子都是对生命的辜负。—尼采

Java类的初始化过程

这是javase一个难点,很多人都记不住,而且经常忘记。其实本质上是一句话:类的初始化过程也就是方法执行的过程。

类的初始化过程也就是方法执行的过程!
类的初始化过程也就是方法执行的过程!

Java类的初始化过程
父类静态域——》子类静态域——》父类成员初始化——》父类构造块——》1
父类构造方法——》2子类成员初始化——》子类构造块——》3子类构造方法

总结:父类先于子类 静态的先于非静态的

其中静态域包含静态代码块与静态方法,这个谁在前面,则先执行谁。

构造代码块
在类中没与任何的前缀或后缀,并使用"{}"括起来的代码片段.
例如: {a= 1;}

接下来放一道练习题

public class A {    static int age = 10;    static { System.out.println("静态代码块二");    }    //给静态成员变量赋值    static A a1 = new A("a1");     static int j  = print("j");    { System.out.println("普通代码块执行了。。。。"); print("构造块");    }    static { print("静态代码块");    }    public A(String a1) { System.out.println("有参构造器");    }    private static int print(String j) { System.out.println(j); return 0;    }     public A() {    }     public static void main(String[] args) { new A(); System.out.println(66666);    }}

【New Star】Java类的初始化过程