【发布时间】:2012-05-21 16:46:25
【问题描述】:
我有课
public class MyMain{
public static void main(String... arg){
Temp t = new Temp(){
{
System.out.println(" instance initialize");
}
};
}
}
class Temp{
int i;
{
i=9;
System.out.println("Static"+i);
}
Temp(){
System.out.println("Temp const "+i);
}
}
当我执行 main 方法时,输出来了:
Static9
Temp const 9
instance initialize
理想情况下,块在构造函数之前执行,但内联初始化块在构造函数之后调用。为什么?
【问题讨论】:
-
顺便说一句,这不是静态的,你打印的是静态的。
标签: java initialization