<span style="font-family: Arial, Helvetica, sans-serif;">/**</span>
*CodeBlock继承自CodeBlockFather
/
public class CodeBlock extends CodeBlockFather{
static{
System.out.println("子类静态代码块");
}
public CodeBlock(){
System.out.println("子类构造函数");
}
public static void main(String[] args){
CodeBlock codeBlock=new CodeBlock();
}
{
System.out.println("子类普通代码块");
}
}
/**
*CodeBlockFather
/
public class CodeBlockFather {
static{
System.out.println("父类静态代码块");
}
public CodeBlockFather(){
System.out.println("父类构造函数");
}
{
System.out.println("父类普通代码块");
}
}
执行结果:
父类静态代码块
子类静态代码块
父类普通代码块
父类构造函数
子类普通代码块
子类构造函数
静态代码块随着JVM的加载而加载,所以静态先执行。
子类静态代码块
父类普通代码块
父类构造函数
子类普通代码块
子类构造函数
静态代码块随着JVM的加载而加载,所以静态先执行。
总之,静态代码块》普通代码库》构造函数