Java程序从哪里开始执行?听说有人从主要方法讲。我认为执行从静态块开始。我对吗??

最佳答案

该程序的输出:

public class XXX {

    static YYY dependend = new YYY();

    static {
        System.out.println("3");
    }

    public static void main(String[] args) {
        System.out.println("4");
    }
}

class YYY {
    static {
        System.out.println("1");
    }
    YYY(){
        System.out.println("2");
    }
}


当然是

1
2
3
4


因此:程序的入口点是main。但是在此之前执行了代码。而且,此“在主程序之前执行”代码不必在同一类中。并且也不需要此代码位于静态初始化器中(请参见“ 2”)。

07-24 09:49
查看更多