所以我有这段代码,产生的输出是xycg ......但是怎么样?有人可以解释一下这是怎么回事。
public class Sequence {
Sequence() {
System.out.print("c");
} {
System.out.print("y");
}
public static void main(String[] args) {
new Sequence().go();
}
void go() {
System.out.print("g");
}
static {
System.out.print("x");
}
}
我甚至不明白怎么写
static{
System.out.print("x");
}
这也可以解释一下。
还写了system.out.print(“y”)的位,如何在它自己的块中写入,它不在序列构造函数中?
答案 0 :(得分:1)
首次加载类时会执行静态块。
非静态初始化块在构造函数之前执行。
在您可以在实例上调用非静态方法之前执行构造函数。
它实际上是展示此订单的最佳代码示例。