问答详情
源自:8-10 Java 中的 static 使用之静态初始化块

为什么静态初始化块最先执行

如题所示。

提问者:君梦了无痕 2016-03-27 11:09

个回答

  • 灬诺诺
    2016-03-27 11:34:25
    已采纳

    1 不管是静态方法还是非静态方法,都需要调用后执行,其执行的次序和在类里声明的次序无关,区别是静态方法是“class.method"方式执行,非静态方法是"object.method"方式执行,即后者需要创建一个对象。
    2 静态成员变量(也称类变量)先于非静态成员变量初始化,静态成员变量在类第一次加载时初始化,所有对象共享一份静态成员变量,非静态成员变量则在对象创建时初始化