美文网首页
对象初始化调用顺序

对象初始化调用顺序

作者: 阳光丶不错 | 来源:发表于2018-01-19 17:54 被阅读0次
class A{
    public int i = method();
    public static int j= method2();
    public int k = 0;

    public A(){
        System.out.println(1);
    }
    public int method(){
        System.out.println(2);
        return 2;
    }
    public static int method2(){
        System.out.println(3);
        return 3;
    }
}
public class B extends A{
    public int m = method3();
    public static int n = method4();
    static {
        System.out.println("B()");
    }
    public int t = 0;

    public B(){
        System.out.println(4);
    }
    public int method3(){
        System.out.println(5);
        return 5;
    }
    public static int method4(){
        System.out.println(6);
        return 6;
    }
    public static int x = method5();
    public static void main(String[] args){
        System.out.println(7);
        A a = new B();
    }
    private static int method5() {
        System.out.println("0");
        return 0;
    }
}
  • 执行public class B extends A(需要有main方法)的时候会先调用B的父类A中的静态部分(静态变量和静态代码块),但是并不会调用A的成员变量和构造函数,然后会调用B中的静态部分,但也不会调用B的成员变量和构造函数;
  • new B();则会同时调用A和B中的静态变量和成员变量和构造函数;
  • 类的静态部分是先于成员变量和构造方法调用的,无论静态部分在什么位置,都会先于非静态部分进行调用,但是静态部分自身的调用顺序是有先后的,会按照代码的先后顺序进行调用;

相关文章

  • 14.对象的初始化顺序

    对象初始化顺序 1、初始化属性 2、调用构造方法 结果:

  • 方法调用顺序

    方法调用顺序 1.alloc :创建对象,分配空间 2.init :初始化对象,初始化数据 3.loadView...

  • 对象初始化调用顺序

    执行public class B extends A(需要有main方法)的时候会先调用B的父类A中的静态部分(静...

  • Kotlin记录

    1. kotlin类的调用顺序调用顺序 答:变量初始化 --> init{} --> constractor{} ...

  • Cocos2d-x 布景层生命周期

    生命周期顺序流程 init() 初始化布景层调用,在类初始化时,仅会调用一次。onEnter() 进入布景层时调用...

  • 2019-01-29

    对象初始化流程在对象初始化 一般都会调用alloc + init方法alloc的关键函数调用 对象的创建的地方有两...

  • C++中对象构造顺序

    单个对象的构造与析构 单个对象创建时构造函数的调用顺序1、调用父类的构造过程2、调用成员变量的构造函数(调用顺序与...

  • 成员初始化列表

    C++为类中提供类成员的初始化列表 类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数...

  • C++对象模型5——对象的构造/析构

    对象的构造/析构顺序 初始化虚基类,按照继承顺序,从左到右,从最深到最浅。 初始化按照继承顺序初始化父类,如果父类...

  • Swift的init方法学习笔记

    Swift语言中的init方法是用来创建对象的,有着比较严格的调用方式和实现方式。 初始化方法的顺序 Swift为...

网友评论

      本文标题:对象初始化调用顺序

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