我想问为什么java在非静态对象之前初始化静态对象?
在这个例子中,b3将在b4和b5之后初始化:
class Cupboard {
Bowl b3 = new Bowl(3);
static Bowl b4 = new Bowl(4);
Cupboard() {}
static Bowl b5 = new Bowl(5);
}
Run Code Online (Sandbox Code Playgroud)
Amb*_*ber 17
因为类的静态成员是在创建类的任何实例之前创建和初始化(在类加载期间) - 所以可以在不创建类的实例的情况下访问它们.非静态成员是按实例创建的,因此等到为该实例初始化创建实例.
| 归档时间: |
|
| 查看次数: |
1278 次 |
| 最近记录: |