黑马程序员技术交流社区
标题:
又是一个类加载顺序问题
[打印本页]
作者:
janstk
时间:
2015-2-2 15:04
标题:
又是一个类加载顺序问题
为何父类的构造代码块会在子类的静态代码块之后执行?
public class Father {
{
System.out.println("father constructer block");
}
static{
System.out.println("father static block");
}
复制代码
public class Child extends Father {
{
System.out.println("children constructer block");
}
static{
System.out.println("children static block");
}
复制代码
public class Init {
public static void main(String[] args) {
Father f_ = new Child();
}
}
复制代码
执行结果:
father static block
children static block
father constructer block
children constructer block
复制代码
作者:
Rorine
时间:
2015-2-2 15:30
我记得之前看视频说,是因为静态代码块随着对象的建立,直接加载进静态方法区,所以会先于构造代码块执行。
作者:
边晓炎
时间:
2015-2-2 16:07
静态比构造先加载!!!
作者:
艺多不压身丶
时间:
2015-2-2 17:58
静态代码块优先于代码块与构造函数。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2