后端岗位面试题更新 2026-08-05

请描述Java类加载过程中初始化的执行顺序,并解释下面的输出结果:存在父子类继承关系grandpa、father、son,每个类都有静态代码块、构造代码块和构造函数,输出不同信息;father类中定义静态变量factor,最后通过son.factor访问该变量。请说明最终输出了哪些信息及顺序。

美团后端开发互联网/IT问题拆解技术原理Java

考察说明

考察类初始化顺序、静态变量访问触发加载的机制

回答思路

  1. 识别访问静态变量不触发子类初始化但触发父类初始化
  2. 按父类到子类的顺序执行静态初始化
  3. 构造实例时先父后子的实例初始化顺序
  4. 解释静态代码块与构造代码块、构造函数的执行时机