This question already has answers here:
What's the difference between an instance initializer and a constructor?
(3个答案)
6年前关闭。
我无法理解为什么在“ c”之前打印“ y” ...我在这里遗漏了什么吗?
请帮助
(3个答案)
6年前关闭。
我无法理解为什么在“ c”之前打印“ y” ...我在这里遗漏了什么吗?
请帮助
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 {}
:加载类时执行此块。这称为静态初始化块。{}
:每次创建该类的新实例时,都会执行此块。这称为实例初始化块。Sequence()
:在上面的块之后,构造函数在创建新实例时执行。
关于java - 基于输出的排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17006651/
10-11 19:24