代码:
public class init { public init() {
System.out.println("n-arg const"); }
public init(int a) {
System.out.println("1-arg const");
}
static{System.out.println("1st static");}
static{System.out.println("2st static");}
{System.out.println("1st instance");}
{System.out.println("2st instance");} public static void main(String[] args) {
// TODO Auto-generated method stub
new init();
System.out.println("----------");
new init(5);
}}
结果:
1st static
2st static
1st instance
2st instance
n-arg const
----------
1st instance
2st instance
1-arg const
不明白之处:题中说明判断块输出的顺序方法 3.每创建一个实例后,都会初始实例化块。4.实例初始化块会在构造函数super()调用之后运行
既然如此,请解释加粗字体顺序,
个人认为:应该是
n-arg const
1st instance
2st instance
----------
1-arg const
1st instance
2st instance
public class init { public init() {
System.out.println("n-arg const"); }
public init(int a) {
System.out.println("1-arg const");
}
static{System.out.println("1st static");}
static{System.out.println("2st static");}
{System.out.println("1st instance");}
{System.out.println("2st instance");} public static void main(String[] args) {
// TODO Auto-generated method stub
new init();
System.out.println("----------");
new init(5);
}}
结果:
1st static
2st static
1st instance
2st instance
n-arg const
----------
1st instance
2st instance
1-arg const
不明白之处:题中说明判断块输出的顺序方法 3.每创建一个实例后,都会初始实例化块。4.实例初始化块会在构造函数super()调用之后运行
既然如此,请解释加粗字体顺序,
个人认为:应该是
n-arg const
1st instance
2st instance
----------
1-arg const
1st instance
2st instance
http://topic.csdn.net/u/20100702/20/3e9fb349-fba4-4f76-87c4-a39ebaeabd65.html