Java中init()方法与clinit()方法的区别

1.init() 和 clinit()方法执行时机不同。init是对象构造器方法,在程序执行 new 一个对象调用该对象类的构造方法时才会执行init方法。而clinit是类构造器方法,在JVM进行类加载——验证——解析——初始化中,初始化阶段JVM会调用clinit方法。

2.init() 和 clinit()方法执行目的不同。init是instance实例构造器,对非静态变量解析初始化。而clinit是class类构造器,对静态变量以及静态代码块进行初始化。

发布了62 篇原创文章 · 获赞 34 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_42451835/article/details/104221531