没分了,来关注一下这个‘异常’~
public class test
{
static er x=new er();
static
{
x.out();
System.exit(0);
}
}
class er
{
{
a=999;
//System.out.println(a); //如果把这句的注释去掉,则报
} 错
public int a;
void out()
{
System.out.println(a);
}
}
问题一:我将初始化块放在了a定义的前面,怎么还可以运行,不是顺序编译吗??
问题二:既然都可以运行了,为什么不能在初始化块里输出a呢??