java中各种代码块的加载顺序
2016-03-30 17:01
357 查看
<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的加载而加载,所以静态先执行。
总之,静态代码块》普通代码库》构造函数