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

在静态初始化块中创建同类的一个对象后,静态初始化块、普通块、构造方法是按什么顺序执行的?

搞的好迷糊~~~

提问者:慕粉3434242 2016-06-03 16:21

个回答

  • 慕先生2021678
    2016-06-03 18:54:17

    静态代码块:用于给类初始化,类加载时就会被加载执行,只加载一次。
    构造代码块:用于给对象初始化的。只要建立对象该部分就会被执行,且优先于构造函数。
    构造函数:  给对应对象初始化的,建立对象时,选择相应的构造函数初始化对象。
    创建对象时,三者被加载执行顺序:静态代码块--->构造代码块--->构造函数

  • 慕粉3354683
    2016-06-03 17:27:51

    在一个主方法中,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。

  • siworae3455733
    2016-06-03 16:27:28

    静态初始化块 > 普通块 > 构造方法

    主方法所在的类中定义的静态初始化块为第一顺序执行,但是不管多少对象产生,这个静态代码块只执行一次

  • qq_黄岩_1
    2016-06-03 16:24:30

    构造方法/静态初始化块/普通块