类初始化

Posted panyizuoshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类初始化相关的知识,希望对你有一定的参考价值。

1、类初始化过程就是执行一个<clinit>()的方法

2、一个类只有一个<clinit>()方法

3、这个方法的代码由两部分代码组装而成:

(1)静态变量的显式赋值

(2)静态代码块

它俩是按从上到下的顺序组装。

4、这个方法的执行特点:

(1)当首次使用这个类时,需要加载和初始化这个类,就会执行<clinit>()方法

(2)这个方法只会执行一次

(3)如果子类初始化时,发现父类没有初始化,先初始化父类。

(4)如果main方法所在的类,先完成类的初始化,再运行main方法

(5)类初始化要先于实例初始化。

以上是关于类初始化的主要内容,如果未能解决你的问题,请参考以下文章

集合初始化器类初始化器匿名类

包含类变量初始化的 C++ 类初始化

JVM类加载机制

类初始化与实例初始化

Jvm(56),虚拟机类加载机制----类加载的过程----初始化

什么时候会发生类初始化