考虑以下代码:
class New {
id = 2;
int id = 7;
}
显然,当我们尝试初始化一个未声明的变量时,它不会编译。
然而,将语句封装到初始化块中,使其编译成功:
class New {
{ id = 2; }
int id = 7;
}
使声明之前的初始化有效的初始化块的这个“特征”是什么?
在问这个问题之前,我阅读了几篇关于 SO 初始化块的帖子,但它们似乎主要解决了初始化顺序的问题(例如静态与非静态)。
考虑以下代码:
class New {
id = 2;
int id = 7;
}
显然,当我们尝试初始化一个未声明的变量时,它不会编译。
然而,将语句封装到初始化块中,使其编译成功:
class New {
{ id = 2; }
int id = 7;
}
使声明之前的初始化有效的初始化块的这个“特征”是什么?
在问这个问题之前,我阅读了几篇关于 SO 初始化块的帖子,但它们似乎主要解决了初始化顺序的问题(例如静态与非静态)。