LearnJava(四) | Java代码块执行顺序测试

简介: 最近笔试常常遇到考察Java代码块执行顺序的题目,网上查看博客错漏百出,特地自己测试了一下。如有错漏,希望路过的大佬指出来,以便我进行更改。  先上代码吧!public class ClassA { private static St...

最近笔试常常遇到考察Java代码块执行顺序的题目,网上查看博客错漏百出,特地自己测试了一下。
如有错漏,希望路过的大佬指出来,以便我进行更改。

  先上代码吧!

public class ClassA {
    private static String a = print("A");
    
    static {
        System.out.println(a+":A——静态块");
    }
    {
        System.out.println("A——构造块");
    }
    public ClassA() {
        System.out.println("A——默认构造方法");
    }
    public ClassA(String name) {
        System.out.println("A——带参构造方法");
    }
    
    public static String print(String className) {
        System.out.println(className+"——静态属性");
        return className;
    }
}
public class ClassB extends ClassA{
private static String b = print("B");
    
    static {
        System.out.println(b+":B——静态块");
    }
    {
        System.out.println("B——构造块");
    }
    public ClassB() {
        System.out.println("B——默认构造方法");
    }
    public ClassB(String name) {
        System.out.println("B——带参构造方法");
    }
}
public class ClassTest {

    public static void main(String[] args) {
        System.out.println("start");
        ClassB laughter = new ClassB("laughter");

        System.out.println("------------------");
        ClassB Somnus = new ClassB();
    }
}

  接下来是测试结果

img_a15de8bbe8f5e43ab8481be8c3449e53.png

总结

结合我查询的资料以及测试结果,可以得知执行顺序如下:

  1. main 函数作为入口,按行依次执行;
  2. 静态属性 > 静态方法声明 > 静态块;
  3. 动态属性 > 动态方法声明 > 构造块;
  4. 构造方法。

补充说明:

  1. 创建一个对象时,无论是否带参数,都会先调用它的父类(如果存在父类)的默认构造方法。
相关文章
|
23天前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
29天前
|
设计模式 算法 Java
Dating Java8系列之通过行为参数化传递代码
Dating Java8系列之通过行为参数化传递代码
19 0
|
1月前
|
Java
JAVA实现图书管理系统(思路,和完整代码)
JAVA实现图书管理系统(思路,和完整代码)
12 0
|
30天前
|
Java
|
1天前
|
IDE Java 测试技术
使用Java进行单元测试:实践与技巧
使用Java进行单元测试:实践与技巧
|
2天前
|
Java 测试技术
|
2天前
|
人工智能 文字识别 Java
AI工具【OCR 01】Java可使用的OCR工具Tess4J使用举例(身份证信息识别核心代码及信息提取方法分享)
【2月更文挑战第1天】Lept4J和Tess4J都是基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,本次介绍Tess4J
31 0
|
3天前
|
NoSQL Java MongoDB
java 连接mongodb的样例代码
java 连接mongodb的样例代码
|
23天前
|
存储 测试技术
统计测试结果的代码实现接昨天
统计测试结果的代码实现接昨天
|
24天前
|
设计模式 Java 程序员
优雅整洁的 Java 代码命名技巧,风之极·净化
优雅整洁的 Java 代码命名技巧,风之极·净化
94 0

相关产品

  • 云迁移中心