MST
星途 面试题库

面试题:Java中静态代码块的执行顺序

假设有如下Java代码: ```java public class StaticBlockExample { static { System.out.println("静态代码块1"); } static int num = 10; static { System.out.println("静态代码块2"); } public static void main(String[] args) { System.out.println("主方法"); } } ``` 请描述程序的输出顺序,并解释原因。
11.1万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 输出顺序
    • 静态代码块1
    • 静态代码块2
    • 主方法
  2. 原因: 在Java中,类的加载过程会按照从上到下的顺序依次执行静态代码块和静态变量的声明及初始化。首先遇到第一个静态代码块,所以输出“静态代码块1”,接着执行静态变量num的声明及初始化,最后遇到第二个静态代码块,输出“静态代码块2”。当类加载完成后,执行main方法,输出“主方法” 。