美文网首页
java类成员执行顺序

java类成员执行顺序

作者: 小线亮亮 | 来源:发表于2017-10-30 10:17 被阅读0次

非继承关系实例化初始化顺序:
1.静态域字段,只在第一次实例化前执行。
2.静态代码块,只在第一次实例化前执行。
3.普通域字段,每次实例化前执行。
4.普通代码块,每次实例化前执行。

继承关系实例化初始化顺序:
1.父类静态成员和静态初始化快,按在代码中出现的顺序依次执行。
2.子类静态成员和静态初始化块,按在代码中出现的顺序依次执行。

  1. 父类的实例成员和实例初始化块,按在代码中出现的顺序依次执行。
    4.执行父类的构造方法。
    5.子类实例成员和实例初始化块,按在代码中出现的顺序依次执行。
    6.执行子类的构造方法。

初始化块主要用于对象的初始化操作,在创建对象时调用,可以用于完成初始化属性值、加载其他的类的功能。
初始化块和构造方法功能类似,可以再创建对象的时候完成一些初始化的操作,一般的情况下,构造方法初始化和初始化块初始化可以通用。
构造方法在初始化的时候可以通过参数船只,但是初始化块不能,初始化块的初始化在构造方法之前执行,如果搞糟方法多次重载,此时可以考虑构造方法中共通的代码放到初始化块中进行初始化。
静态初始化块和非晶态初始化块的区别?
非静态初始化块主要是用于对象的初始化操作,在每次创建对象的时都要调用一次,其执行顺序在构造方法之前。
在初始化块之前有static修饰,则为静态初始化块。由于非静态成员不能再静态方法中使用,同样也不能在静态初始化块中,因此,静态初始化块主要用于初始化静态变量和静态方法,静态初始化块只调用一次,是在类的第一次加载到内存时,并非一定要创建对象才执行,静态初始化块比非静态初始化块先执行。

相关文章

  • java类成员执行顺序

    非继承关系实例化初始化顺序:1.静态域字段,只在第一次实例化前执行。2.静态代码块,只在第一次实例化前执行。3.普...

  • java程序执行顺序

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

  • java类执行顺序

    加载器第一次加载某一个类时,执行顺序如下: 先执行父类的静态变量和静态代码块,如果有初值为其赋值,没有就赋值默认初...

  • Java类执行顺序

    执行结果

  • 派生类构造函数执行顺序

    执行顺序: 1.先执行基类的构造函数,按照被继承时声明顺序,并且虚基类优先2.初始化新定义的成员,执行顺序按照各个...

  • Java程序的顺序问题

    一、Java中的执行顺序 二、Java中的赋值顺序 一、Java中的执行顺序 1.静态块2.块3.构造器4.父类构...

  • C++构造和析构调用顺序

    构造函数执行顺序 1.基类构造函数(如有多个则按基类声明顺序从左到右) 2.成员变量构造函数(如果有多个按成员变量...

  • 简述java类执行顺序

    1.父类静态代码块(只进行一次) 2.子类静态代码块(只进行一次) 3.父类属性类的静态代码块(只进行一次) 4....

  • Java 继承类执行顺序

    时不时就忘记 这个顺序,那就把代码敲出来 执行一下。 执行结果

  • 安卓面试概要点

    Java基础 访问修饰符 √ 类加载深入理解Java类加载器ClassLoaderJava中类加载的执行顺序 泛型...

网友评论

      本文标题:java类成员执行顺序

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