【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); }}