美文网首页
Java程序初始化顺序

Java程序初始化顺序

作者: _麻辣香锅不要辣 | 来源:发表于2020-02-22 20:17 被阅读0次

Java程序初始化顺序

首先来看一段代码

class a{
    static b b1 = new b();
    static{
        System.out.println("1");
    }
    a(){
        System.out.println("2");
    }
}
public class b extends a{
    static{
        System.out.println("3");
    }

    b(){
        System.out.println("4");
    }
    public static void main(String[] args) {
        System.out.println("====");
        b b = new b();
    }
}

输出顺序应该是什么样的呢?

2
4
1
3
====
2
4
Java程序初始化顺序.png

根据上图可知:在程序初始化时,先会初始化父类中的静态变量和静态的代码块。然后再是子类中的静态变量和静态代码块。
然后在创建对象的时候,会先调用父类的构造函数(默认调用super()函数)

相关文章

  • Java程序初始化顺序

    Java程序初始化顺序 首先来看一段代码 输出顺序应该是什么样的呢? 根据上图可知:在程序初始化时,先会初始化父类...

  • Java程序初始化顺序

    今天在课上复习了Java的初始化顺序,一直有点疑惑,搞不明白,所以打算写下来,记录一下。 先说一下Java...

  • Java和Kotlin类的初始化顺序

    Java Java程序初始化的顺序:父类静态变量 -> 父类静态代码块 -> 子类静态变量 -> 子类静态代码块 ...

  • Java初始化顺序

    layout: post title: Java初始化顺序 categories: JAVA descriptio...

  • 调整驱动加载顺序

    Linux内核驱动程序初始化顺序的调整(1) 如何调整Linux内核启动中的驱动初始化顺序

  • Kotlin笔记

    Kotlin与Java的差异 1. 对象的初始化时的顺序 在java中,初始化代码块 -> 构造函数 在kotli...

  • Java初始化顺序

    Java初始化的顺序如下: 静态变量和静态初始化块之间没有先后关系, 遵循代码的先后顺序, 写在前面就先初始化, ...

  • 静态内部类实现懒加载单例模式

    代码 为什么 Java程序的初始化顺序依次是:父类静态变量-->父类静态代码块-->子类静态变量-->子类静态代码...

  • Java基础笔记

    在这里记录一下自己回顾Java基础时,一些觉得掌握的还不牢固的基础知识,查漏补缺! Java程序初始化顺序 三个原...

  • Java类的加载机制(类加载和初始化顺序)

    Java类加载机制中最重要的就是程序初始化过程,其中包含了静态资源,非静态资源,父类子类,构造方法之间的执行顺序。...

网友评论

      本文标题:Java程序初始化顺序

      本文链接:https://www.haomeiwen.com/subject/xsdrqhtx.html