对java和静态变量有点怀疑.我有类似的东西,问题是:MyObject()构造函数只运行一次或每次我创建一个新的MyClass实例?
public class MyClass{
static MyObject obj = new MyObject();
...
Run Code Online (Sandbox Code Playgroud)
谢谢!
MyObject()构造函数只运行一次或每次创建MyClass的新实例时运行?
它只在执行过程(类初始化)启动时运行一次,并在所有实例中共享(单个副本).
在类初始化时执行类中声明的静态初始化程序(第12.4.2节).与类变量的任何字段初始值设定项(第8.3.2节)一起,静态初始值设定项可用于初始化类的类变量.
http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.7
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |