Java类的初始化问题

来源:互联网 发布:实体店结算软件 编辑:程序博客网 时间:2024/06/06 15:54

继承中的问题

目录

  • 继承中的问题
      • 目录
      • 代码块
      • 结果
      • 说明

代码块:

//Javaclass X {    Y b = new Y();    X() {        System.out.print("X");    }}class Y {    Y() {        System.out.print("Y");    }}public class Z extends X {    Y y = new Y();    Z()    {        //super        System.out.print("Z");    }    public static void main(String[] args) {        new Z();     }}

结果:

结果是:YXYZ

说明:

    A:成员变量的问题        int x = 10; //成员变量是基本类型        Student s = new Student(); //成员变量是引用类型    B:一个类的初始化过程        成员变量的初始化            默认初始化            显示初始化            构造方法初始化    C:子父类的初始化(分层初始化)        先进行父类初始化,然后进行子类初始化<问题>    虽然子类中构造方法默认有一个super()    初始化的时候,不是按照那个顺序进行的。    而是按照分层初始化进行的。    它仅仅表示要先初始化父类数据,再初始化子类数据。
0 0
原创粉丝点击