Chu*_*urk 3 java initialization
所以我确实阅读了从这个线程执行静态initalizer的内容.Java中的静态初始化程序.但是我遇到了别人写的一些旧代码,似乎无法理解为什么他会像他那样使用它.
我的课:
public class ClassA extends Thread {
.... private vars ....
private static Config config;
static {
config = null;
}
public ClassA(Config config) {
ClassA.config = config;
}
}
Run Code Online (Sandbox Code Playgroud)
他为什么不这样做呢?
public class ClassA extends Thread {
.... private vars ....
private static Config config = null;
public ClassA(Config config) {
ClassA.config = config;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道静态initalizer会被调用作为被重新类的类,因此它设置config => null,而如果我不使用静态initalizer,实例变量会在构造函数之前获得初始化,并且在super之后.那么两个班级不会做同样的事情吗?
| 归档时间: |
|
| 查看次数: |
147 次 |
| 最近记录: |