package com.zwgt;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Prize {
public Prize() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String args[]) {
childclass child = new childclass();//看看程序的运行结果?
}
private void jbInit() throws Exception {
}
}
class superclass {
public superclass() {
System.out.println("this is superclass construct function()");
}
static {
System.out.println("this is superclass static {}");
}
}
class childclass extends superclass {
public childclass() {
System.out.println("this is childclass construct function()");
}
static {
System.out.println("this is childclass static {}");
}
}
/*
打印结果如下:
this is superclass static {}
this is childclass static {}
this is superclass construct function()
this is childclass construct function()
由此可以看出:程序先执行静态块,然后执行相应的构造函数
如果子类在实例化时,首先执行父类的static{},然后执行子类的static{},然后执行父类的构造函数,最后执行子类的构造函数
*/
文章转自:http://blog.sina.com.cn/s/blog_4c6fef6301000ch7.html