我正在学习Java SE 7考试,我正在查看示例问题。我似乎无法弄清为什么下面的程序以x y c g
的顺序返回。Java SE 7:执行顺序
我明白为什么x
首先运行,因为它是一个静态初始化块,但有人可以解释为什么y
被c
和g
之前运行?
public class Triangle {
Triangle() {
System.out.print("c ");
}
{
System.out.print("y ");
}
public static void main(String[] args) {
new Triangle().go();
}
void go() {
System.out.print("g ");
}
static {
System.out.print("x ");
}
}
@jlordo,你是对的。当在线搜索时,从来没有发现过这个问题 – theBigOzzy