我已经检查了字段初始化期间的转发引用,这是@assylias的答案,但我仍然没有得到为什么的答案。
为什么静态块可以分配在其之后声明的静态变量,但不能访问它?
class Parent {
static {
i = 2; // valid
// can only assign new value to it instead of accessing it?
// System.out.println(i); // invalid - compile-error
}
static int i = 0;
static {
i = 3; // valid
}
}
这是因为:该值尚未初始化,因此我们只是明确禁止您使用它?还是有一些与安全有关的东西我不知道?
更新
这不是关于这个问题的重复
为什么使用类名访问时不会发生这种情况?
这个问题是关于我们为什么有这个设计?目的何在?
HUWWW
qq_遁去的一_1
莫回无
相关分类