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



