本帖最后由 007lzg 于 2012-7-3 21:47 编辑
class Root
{
static
{
System.out.println("Root 的静态初始块化");
}
{
System.out.println("Root 的普通初始块化");
}
public Root()
{
System.out.println("Root 的无参数的构造器");
}
}
class Mid extends Root
{
static
{
System.out.println("Mid 的静态初始块化");
}
{
System.out.println("Mid 的普通初始块化");
}
public Mid()
{
System.out.println("Mid 的无参数的构造器");
}
public Mid(String msg)
{
this();
System.out.println("Mid的带参数的构造器,其参数值是:"+msg);
}
}
class Leaf extends Mid
{
static
{
System.out.println("Leaf 的静态初始块化");
}
{
System.out.println("Leaf 的普通初始块化");
}
public Leaf()
{
super("Struts 权威指南");
System.out.println("执行Leaf的构造器");
}
}
public class Test
{
public static void main(String[] args)
{
new Leaf();
new Leaf();
}
}
为什么两次打印的结果不同,打印流程到底是什么样的啊?
|