首页 > 其他 > 详细

代码块执行顺序。

时间:2015-06-19 21:32:19      阅读:245      评论:0      收藏:0      [点我收藏+]

class Father1{

static{
System.out.println("....static Father.....");
}

{
System.out.println(".....父类非静态。。。");
}

public Father1(){
System.out.println("---父类构造方法----");
}
}

class Son1 extends Father1{

static{
System.out.println("....static Son.....");
}



public Son1(){
System.out.println("---子类构造方法-----");
}
{
System.out.println(".....子类非静态。。。");
}
}

public class Demo3 {


static{
System.out.println("....主函数静态代码.....");
}

{
System.out.println(".....主函数非--------静态代码。。。");
}

public static void main(String[] args) {

Son1 s = new Son1();
System.out.println("----输出完毕-------");
Demo3 d = new Demo3();
}

}

执行结果:

....主函数静态代码.....
....static Father.....
....static Son.....
.....父类非静态。。。
---父类构造方法----
.....子类非静态。。。
---子类构造方法-----
----输出完毕-------
.....主函数非--------静态代码。。。

所以顺序是:

从主函数所在的类执行静态代码块,

从父类执行静态代码块。

从子类执行静态代码块。

非静态代码块要在new对象,构造方法前是才执行;

父类构造方法

子类非静态

子类构造方法

代码块执行顺序。

原文:http://www.cnblogs.com/daxiong225/p/4589718.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!