• Java 类执行顺序


    1.如果父类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块
    2.如果类有静态成员赋值或者静态初始化块,执行静态成员赋值和静态初始化块
    3.将类的成员赋予初值(原始类型的成员的值为规定值,例如int型为0,float型为0.0f,boolean型为false;对象类型的初始值为null)
    4.如果构造方法中存在this()调用(可以是其它带参数的this()调用)则执行之,执行完毕后进入第7步继续执行,如果没有this调用则进行下一步。(这个有可能存在递归调用其它的构造方法)
    5.执行显式的super()调用(可以是其它带参数的super()调用)或者隐式的super()调用(缺省构造方法),此步骤又进入一个父类的构造过程并一直上推至Object对象的构造。
    6.执行类申明中的成员赋值和初始化块。
    7.执行构造方法中的其它语句。

    最终的简化顺序版本是:

    1.父类的静态成员赋值和静态块
    2.子类的静态成员和静态块
    3.父类的构造方法
    4.父类的成员赋值和初始化块
    5.父类的构造方法中的其它语句
    6.子类的成员赋值和初始化块
    7.子类的构造方法中的其它语句

  • 相关阅读:
    用Total Commander for Android管理应用程序
    我的zsh简单设置
    C# Newtonsoft.Json 使用
    Wireshark 抓包 test
    C# 调用API test
    C# 委托 的语法 之一
    C# 对象初始化器 和数组初始化语法
    C 语言 数据类型长度
    vue 使用 test
    test
  • 原文地址:https://www.cnblogs.com/zhuyongzhe/p/7068084.html
Copyright © 2020-2023  润新知