java中静态初始化块的执行顺序

在java中,其应该是先于所有的方法执行。

下面是测试代码:

1 1 public class Test1 { 2 2 static{ 3 3 System.out.println("执行静态初始化块test1..."); 4 4 } 5 5 { 6 6 System.out.println("执行初始化块test1"); 7 7 } 8 8 public Test1(){ 9 9 System.out.println("执行test1构造函数"); 1010 } 1111 } 1212 1313 1414 1515 public class Test2 extends Test1{ 1616 static{ 1717 System.out.println("执行静态初始化块test2..."); 1818 } 1919 { 2020 System.out.println("执行初始化块test2"); 2121 } 2222 public Test2(){ 2323 System.out.println("执行test2构造函数"); 2424 } 2525 } 2626 2727 2828 2929 public class Test3 extends Test2{ 3030 static{ 3131 System.out.println("执行静态初始化块test3..."); 3232 } 3333 { 3434 System.out.println("执行初始化块test3"); 3535 } 3636 public Test3(){ 3737 System.out.println("执行test3构造函数"); 3838 } 3939 } 4040 4141 4242 4343 ---------------------------------------------------------------------------------------------------- 4444 4545 public class Test { 4646 public static void main(String[] args){ 4747 Test3 t = new Test3(); 4848 } 4949 }

运行结果如图:

从结果即可看出,静态初始化块的执行顺序十分靠前,并且在静态初始化块之间,谁在程序的前面谁先执行。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )