题目
静态初始化器是在其所属的类加载内存时由系统自动调用执行( )A. 错误B. 正确
静态初始化器是在其所属的类加载内存时由系统自动调用执行( )
A. 错误
B. 正确
题目解答
答案
B. 正确
解析
静态初始化器(静态代码块)是Java中用于初始化类的静态资源的机制。其核心特点是仅在类首次被加载到内存时自动执行一次,且由JVM系统自动调用,无需显式触发。本题的关键在于理解静态初始化器的执行时机与类加载过程的关系。
静态初始化器的定义格式为:
static {
// 初始化代码
}
其执行逻辑如下:
- 类加载阶段:当类第一次被使用(如通过
new关键字创建对象、访问静态变量或方法)时,JVM会加载该类到内存。 - 静态初始化器触发:类加载完成后,JVM会自动执行类中的静态初始化器,用于初始化静态变量或分配静态资源。
- 单次执行特性:无论后续创建多少个类实例,静态初始化器仅在类加载时执行一次。
题目描述“静态初始化器在其所属的类加载内存时由系统自动调用执行”完全符合上述逻辑,因此答案为正确。