方法执行的顺序是什么?

时间:2015-06-29 19:59:18

标签: java class methods void

所以我有这段代码,产生的输出是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”)的位,如何在它自己的块中写入,它不在序列构造函数中?

1 个答案:

答案 0 :(得分:1)

首次加载类时会执行静态块。

非静态初始化块在构造函数之前执行。

在您可以在实例上调用非静态方法之前执行构造函数。

它实际上是展示此订单的最佳代码示例。