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

下面是测试代码:

 public class Test1 {
static{
System.out.println("执行静态初始化块test1...");
}
{
System.out.println("执行初始化块test1");
}
public Test1(){
System.out.println("执行test1构造函数");
}
} public class Test2 extends Test1{
static{
System.out.println("执行静态初始化块test2...");
}
{
System.out.println("执行初始化块test2");
}
public Test2(){
System.out.println("执行test2构造函数");
}
} public class Test3 extends Test2{
static{
System.out.println("执行静态初始化块test3...");
}
{
System.out.println("执行初始化块test3");
}
public Test3(){
System.out.println("执行test3构造函数");
}
} ---------------------------------------------------------------------------------------------------- public class Test {
public static void main(String[] args){
Test3 t = new Test3();
}
}

运行结果如图:

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

java中静态初始化块的执行顺序的更多相关文章

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

    先来观察下面的代码 package trr; class Root { static{ System.out.println("Root的静态初始化块"); } { System. ...

  2. 浅谈Java中静态初始化块跟非初始化块

    众所周知在JAVA编程语言中有两种初始化块:   静态初始化块 非静态初始化块 他们到底有什么区别呢?今天就浅谈一下JAVA中静态初始化块和非静态初始化块的区别   静态初始化块 定义:       ...

  3. 请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。

    答:执行顺序:静态初始化块->初始化块->构造函数 静态初始化块:在第一次加载类时执行,与对象的创建无关. 构造代码块:在调用构造方法时执行. 构造函数:在调用构造函数时执行.

  4. java类的初始化块/执行顺序,实例化对象数据赋值

    java里初始化一个类的对象,通过初始化快或者构造方法进行数据赋值.与其相关的执行代码有这么几种: 静态初始化块 初始化块 构造方法 静态初始化块 静态初始化块只在类加载时执行一次,同时静态初始化块只 ...

  5. Java中四大代码块的执行顺序(附code)

    验证证的方法是写code,如下: public class test { static class A { public static String name = "hello"; ...

  6. 关于java中三种初始化块的执行顺序

    许多小伙伴对于java中的三种初始化块的执行顺序一直感到头疼,接下来我们就来分析一下这三种初始化块到底是怎么运行的.有些公司也会将这个问题作为笔试题目. 下面通过一段代码来看看创建对象时这么初始化块是 ...

  7. Java初始化块及执行顺序

    理解 初始化块又称为代码块.属于类中的第四大成员.本质上是一个方法,它也有方法体,但没有方法名,没有参数,没有返回,而且也不是通过对象或类名显式调用,而是通过隐式调用 是构造器的补充 语法 [修饰符] ...

  8. Java 中静态代码块初始化问题测试

    Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...

  9. java中静态代码块,非静态代码块,构造函数

    关于静态代码块 静态代码块的写法: static { System.out.println("我是静态代码块"); } 静态代码块的特点: 1.执行优先级高于非静态的初始化块,它会 ...

随机推荐

  1. 阻塞队列BlockingQueue之ArrayBlockingQueue

    ArrayBlockingQueue  是数组实现的有界阻塞队列,此队列按照先进先出(FIFO)的原则对元素进行排序. 构造方法: public ArrayBlockingQueue(int capa ...

  2. ASP学习笔记1

    一.变量 1.1 声明变量 dim name name="Donald Duck" response.write("My name is: " & na ...

  3. mysql渗透过程

    1 打开目标站点:www.xxx.com 2 注册账号并登录,大概找下注入点,没找到 3 用namp -A -T4 目标站点扫描开放的服务 发现mysql等 4 猜弱口令 + 字典  对mysql进行 ...

  4. Bugku-CTF之本地包含( 60)

    Day36  

  5. AcWing 868. 筛质数 线性筛法

    #include <iostream> #include <algorithm> using namespace std; ; int primes[N], cnt; bool ...

  6. python+tkinter制作一个可自定义的动态时钟及详细解释,珍藏版

    1.效果图 2.完整代码 #第1步:导出模块 from tkinter import * import math,time #第2步:定义窗口的相关设置 root = Tk() root.title( ...

  7. 吴裕雄 python 机器学习——KNN分类KNeighborsClassifier模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import neighbors, datasets from skle ...

  8. CSS学习(8)盒模型

    box:盒子,每个元素在页面中都会生成一个矩形区域(盒子) 盒子类型: 1.行盒,display属性=inline的元素,不换行(默认值) 2.块盒,display属性=block的元素,换行 浏览器 ...

  9. SOCV/POCV 开篇 (1)

    1.功能:模拟工艺偏差对芯片性能的影响 2. 40nm之前 flat derate模型可以基本覆盖大部分情况 3.AOCV (Adance OCV) 考虑distance 和depth的影响. AOC ...

  10. Linux下系统版本查询命令

    # uname -a (Linux查看版本当前操作系统内核信息) # cat /proc/version (Linux查看当前操作系统版本信息) # cat /etc/issue 或 cat /etc ...