实用 AI

可在线运行 AI 集合,涵盖 AI 文案生成、写作辅助、AI 绘图与照片修复、AI 配音、字幕生成、语音转录以及 AI 视频创作和数字人等多种 AI 服务

查看详情

代码块的执行顺序

深入学习Java基础知识
2021-05-17 14:29 · 阅读时长3分钟
小课

在Java中会经常用到静态代码块和构造方法,但是还有一种代码块叫构造代码块,用的比较少,但是在面试时会因为代码块执行顺序而提到。

静态代码块,只在类加载时执行一次,多个静态代码块执行顺序取决于它在代码中的位置,先定义的先执行,最常用的场景就是加载native库

static {
    System.loadLibrary("zhixing");
}

构造代码块,每次创建实例时都会执行,多个构造代码块执行顺序也取决于它在代码中的位置,先定义的先执行,它和构造方法执行时机不同的是,如果有多个构造方法,创建实例时只会调用其中一个构造方法,而构造代码块始终都会调用。不过我们可以在构造方法里面调用另外一个构造方法,或者调用统一的初始化方法,来实现构造代码块的功能,而且更加直观。

首先明确一点,静态代码块是在类加载时执行的,而构造方法和构造代码块是在创建实例时才执行,所以静态代码块肯定比后两者先执行,下面看看示例。

加载中...
加载中...
java code block