微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Java中自由块的执行顺序

java中的自由块分为静态的自由块和非静态的自由块。非静态自由块的执行时间是:在执行构造函数之前。静态自由块的执行时间是:class文件加载时执行。

java中的自由块分为静态的自由块和非静态的自由块。

非静态自由块的执行时间是:在执行构造函数之前。

静态自由块的执行时间是:class文件加载时执行。

非静态自由块可以多次执行,只要初始化一个对象就会执行,但是静态自由块只会在类装载的时候执行一次,一般用来初始化类的静态变量的值。

每次初始化一个对象,都会导致一次非静态块的执行。

如果涉及到继承,则是:首先执行父类的非静态块,然后是父类的构造函数,接着是自己的自由块,最后是自己的构造函数

静态块的执行时机是在class文件装载的时候,class文件只会装载一次,因此静态块只会执行一次,后面再使用这个类时,不会再执行静态块。 

静态块的执行时机是在class装载后的初始化阶段。如果采用ClassLoader的loadclass来仅仅装 载类而不初始化,是不会触发静态块的执行的。采用Class的forname(String)是采用了认的initialize为true的情况,也就 是初始化了。如果使用forname(String name,boolean initialize, ClassLoader loader),设置initialize为false,则不会执行静态块。

在执行class装载后的初始化阶段包括:运行方法,这个方法中就是类变量的初始化语句和静态自由块语句。这个方法是由java的编译器收集信息后生成的,不能显示调用

下面通过例子来说明:

父类

复制代码 代码如下:

father.javapublic class father {

    static{//静态块

       System.out.println("father'sstATIC free block running");

    }

    {//非静态块

 System.out.println("father'sfree block running");

    }

    public father(){

       System.out.println("father'sconstructor running");

    }

}

上一篇:JAVA使用POI获取Excel的列数与行数下一篇:Java中String、StringBuffer、StringBuilder的区别详解 热门搜索

执行顺序 

顺序执行 

按顺序执行 

js执行顺序 

执行顺序问 

相关文章

在Java中自由块的执行顺序

2021-10-06阅读(5529)评论(0)推荐()

java中的自由块分为静态的自由块和非静态的自由块。非静态自由块的执行时间是:在执行构造函数之前。静态自由块的执行时间是:class文件加载时执行。

举例说明Java中代码块的执行顺序

2021-11-19阅读(8921)评论(0)推荐()

这篇文章主要介绍了举例说明Java中代码块的执行顺序,包括静态属性和非静态属性以及构造函数等相关的执行先后,需要的朋友可以参考下

ruby 程序的执行顺序

2021-10-17阅读(4346)评论(0)推荐()

ruby程序的执行是顺序执行的,他是从脚本的第一行执行到最后一行,但是实际执行顺序是

浅谈js在html中的加载执行顺序,多个jquery ready执行顺序

2021-10-09阅读(6289)评论(0)推荐()

下面小编就为大家带来一篇浅谈js在html中的加载执行顺序,多个jquery ready执行顺序。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随...

简单了解java中静态初始化块的执行顺序

2021-11-15阅读(9471)评论(0)推荐()

这篇文章主要介绍了简单了解java中静态初始化块的执行顺序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java中保证线程顺序执行的操作代码

2021-10-19阅读(5334)评论(0)推荐()

本文给大家分享一篇教程关于java线程顺序执行问题,如何保证线程的顺序执行呢?今天通过实例代码给大家详细讲解下,感兴趣的朋友跟随小编一起看看吧

Android代码块执行顺序分析总结

2021-10-05阅读(5837)评论(0)推荐()

本篇文章主要介绍了Android代码块执行顺序分析总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

取消

有人回复邮件通知

提交评论

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐