init和clinit的区别

init和clinit的区别

  1. 执行的目的不同
    • init是对象的构造器方法,对非静态变量解析初始化
    • clinit是class类构造器,对静态变量、静态代码块进行初始化
  2. 执行时机不同
    • init是在程序执行new一个对象时调用该对象的constructor方法时才会执行init方法
    • clinit是在jvm进行类加载–验证–解析–初始化时的初始化阶段会调用clinit方法
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

扫一扫,分享到微信

微信分享二维码
  • © 2020 Zhang-Ke
  • Powered by Hexo Theme Ayer
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信