静态代码块和构造函数的顺序

时间:2015-05-26 09:13:48   收藏:0   阅读:279

最近犯了一个严重的错误,就是静态代码块和构造函数的执行顺序问题,静态代码块是在构造函数之前执行的

public class A {
	static {
		System.out.println("static A");
	}
	public A(){
		System.out.println("构造 A");
	}
}

public class B extends A {
	static {
		System.out.println("static B");
	}
	public B(){
		System.out.println("构造 B");
	}
	public static void main(String args[]){
		A a = new B();
	}
}

打印结果为:而且发现子类总会调用父类的无参构造函数

static A
static B
构造 A
构造 B

原文:http://blog.csdn.net/kkgbn/article/details/46003183

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!