静态代码块,代码块,构造方法的执行过程
1.先执行静态代码块,然后在执行代码块,最后执行构造方法
2.如果一个类继承了另一个类
执行顺序:
(1)先执行父类静态代码块,
(2)在执行子类静态代码块,
(3)执行父类代码块和构造方法
(4)最后执行子类代码块和构造方法
3.在第二次运行代码是,静态代码块不会被加载。
程序如下:
class A{
static {
System.out.println("A类静态代码块");
}
{
System.out.println("A类代码块");
}
A(){
System.out.println("A类构造方法");
}
}
public class B extends A{
static {
System.out.println("B类静态代码块");
}
{
System.out.println("B类代码块");
}
B(){
System.out.println("B类构造方法");
}
public static void main(String[] args){
new B();
System.out.println();
new B();
}
}
运行结果:
A类静态代码块
B类静态代码块
A类代码块
A类构造方法
B类代码块
B类构造方法
A类代码块
A类构造方法
B类代码块
B类构造方法