美文网首页
Java代码执行顺序(从类加载到创建对象)

Java代码执行顺序(从类加载到创建对象)

作者: 卖糕的佛祖啊 | 来源:发表于2019-01-10 11:32 被阅读0次

刚开始学java,总是被各种莫名奇妙的执行顺序烦到窒息,比如以下一段经典案例:

public class StaticTest {
    public static void main(String[] args) {
        staticFunction();
    }

    static StaticTest st = new StaticTest();

    static {   //静态代码块
        System.out.println("1");
    }

    {       // 实例代码块
        System.out.println("2");
    }

    StaticTest() {    // 实例构造器
        System.out.println("3");
        System.out.println("a=" + a + ",b=" + b);
    }

    public static void staticFunction() {   // 静态方法
        System.out.println("4");
    }

    int a = 110;    // 实例变量
    static int b = 112;     // 静态变量
}/* Output: 
        2
        3
        a=110,b=0
        1
        4
 *///

网上查了一些资料,做了一个大纲方便自己理解,算是笔记吧。


java代码运行顺序(类加载+对象创建).jpg

参考文章:
深入理解Java对象的创建过程:类的初始化与实例化
https://blog.csdn.net/justloveyou_/article/details/72466416
JVM类生命周期概述:加载时机与加载过程
https://blog.csdn.net/justloveyou_/article/details/72466105

相关文章

  • Java代码执行顺序(从类加载到创建对象)

    刚开始学java,总是被各种莫名奇妙的执行顺序烦到窒息,比如以下一段经典案例: 网上查了一些资料,做了一个大纲方便...

  • java程序执行顺序

    Java 类中代码的执行顺序深入了解Java程序执行顺序 单个类: static变量—>Static代码块—> m...

  • Java代码执行顺序

    java中子类继承父类程序执行顺序问题 Java中,new一个类的对象,类里面的静态代码块、非静态代码、无参构造方...

  • JAVA & .NET创建对象构造函数调用顺序

    JAVA & .NET创建对象构造函数调用顺序 JAVA 定义Person类 定义Chinese类 创建Chine...

  • Python面向对象

    创建类和对象 class是关键字,表示类 创建对象,类名称后加括号即可 面向对象:【创建对象】【通过对象执行方法】...

  • java初始化顺序

    本文讨论Java中(静态)变量、(静态)代码块的执行顺序 首先创建3个类: 1、Foo类,用于打印变量 2、Par...

  • Java并发机制的底层原理

    Java程序执行:Java代码→Java字节码→字节码被类加载器加载到JVM里,JVM执行字节码→转化为汇编指令在...

  • js的类和对象的创建与技术

    js的类和对象的创建的技术 一:类和对象的调用 Js代码 二:函数创建对象 this指当前类的属性与java相似(...

  • Mybatis 分页插件 进阶使用

    我们的创建顺序及简述1.创建分页实体对2.创建分页工具类对象创建分页插件 PagePlugin.java 这个类主...

  • Python魔法方法-__call__

    __call__ 对象后面加括号,触发执行注:__init__方法的执行是由创建对象触发的,即:对象 = 类名()...

网友评论

      本文标题:Java代码执行顺序(从类加载到创建对象)

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