java - 多少次运行静态对象构造?

标签 java constructor static

对java和static变量有点疑惑。我有类似的问题,问题是:MyObject() 构造函数只运行一次或每次我创建 MyClass 的新实例时运行?

public class MyClass{    
static MyObject obj = new MyObject();
...

谢谢!

最佳答案

MyObject() constructor runs only once or every time I create a new instance of MyClass?

它仅在执行过程(类初始化)开始并在所有实例之间共享(单个副本)时运行一次。

A static initializer declared in a class is executed when the class is initialized (§12.4.2). Together with any field initializers for class variables (§8.3.2), static initializers may be used to initialize the class variables of the class.

http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.7

关于java - 多少次运行静态对象构造?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20909711/

相关文章:

java - 如何将 UTF-8 字符串转换为日语或任何其他语言的 IText PDF?

java - 我应该使用静态方法还是静态字段

java - 在 JUnit 测试的上下文中使用 OSGi 声明式服务

java - Spring Jpa save() 从子实体中删除列

c++ - 当第二个依赖于第一个时,如何在构造函数初始值设定项列表中初始化两个 std::array

java - 为什么构造函数在java中不被继承?

c# - 为什么进入静态 .ctors 的顺序与继承类中的实例 .ctors 不同?

java - 如何从另一个类的main方法中访问变量

dll - 是否可以在同一个 CMakeLists.txt 中使用/MT 设置项目,而使用/MD 设置其他项目?

java - 每分钟或其他情况下运行一个线程