初始化块:
分类:
1、静态初始化块
2、非静态初始化块
语法:
[修饰符]{
初始化块逻辑
}
例子:
父类
public class Block {
static {
System.out.println("父类静态初始化块...");
}
{
System.out.println("父类非静态初始化块...");
}
public Block(){
System.out.println("构造器...");
}
}
子类
public class BlockSon extends Block {
static {
System.out.println("子类静态初始化块...");
}
{
System.out.println("子类非静态初始化块...");
}
public BlockSon() {
System.out.println("子类构造器...");
}
}
测试类
public class Client {
public static void main(String[] args) {
BlockSon bs = new BlockSon();
System.out.println(bs.hashCode());
}
}
结果
结论:执行顺序如图。
转载于:https://blog.51cto.com/zibing/1926711