美文网首页
二、初始化基类

二、初始化基类

作者: 云烟渐成雨 | 来源:发表于2019-07-25 18:03 被阅读0次

1、 无参的构造器

class Art{
    Art(){
        System.out.println("Art Constructor");
    }
}

class Draw extends Art{
    Draw(){
        System.out.println("Draw Constructor");
    }
}

public class Cartoon extends Draw{

    public Cartoon(){
        System.out.println("Cartoon Constructor");
    }

    public static void main(String[] args) {
        Cartoon cartoon = new Cartoon();
    }
}

运行结果:

Art Constructor
Draw Constructor
Cartoon Constructor

可以发现,构建过程是从基类“向外”扩散的,所以基类在导出类构造器可以访问它之前,就已经完成了初始化。

2、 带参数的构造器

如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用到关键字super来显示地编写调用基类构造器的语句,并且传入适当的参数列表。

class Game {
    Game(int i) {
        System.out.println("Game Construct i = " + i);
    }
}

class BoardGame extends Game {

    BoardGame(int i) {
        super(i);
        System.out.println("BoardGame Construct");
    }
}

public class PlayGame extends BoardGame {

    PlayGame(int i) {
        super(i);
        System.out.println("PlayGame Construct");
    }

    public static void main(String[] args) {
        PlayGame playGame = new PlayGame(1);
    }
}

运行结果:

Game Construct i = 1
BoardGame Construct
PlayGame Construct

相关文章

  • java构造器初始化与清理

    java构造器初始化先后顺序: 若此类继承于某基类,则先初始化基类,以此类推,找到最基本的父类,先对基类进行初始化...

  • 二、初始化基类

    1、 无参的构造器 运行结果: 可以发现,构建过程是从基类“向外”扩散的,所以基类在导出类构造器可以访问它之前,就...

  • 类的复用

    1.java代码的复用方式 继承初始化基类导出类对象包含一个基类的子对象,因此导出类初始化之前,编译器首先调用基类...

  • C++ - 派生类的构造函数

    派生类的构造函数 派生类对象包含基类 对象 执行派生类构造函数之前,先执行基类的构造函数 派生类交代基类初始化,具...

  • c++11 继承构造函数和委托构造函数

    1 继承构造函数 1.1 为什么需要继承构造函数 子类为完成基类初始化,在C++11之前,需要在初始化列表调用基类...

  • 关于虚函数

    (1)派生类对象直接向基类赋值,赋值效果,基类数据成员和派生类中数据成员的值相同;(2)派生类对象可以初始化基类对...

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

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

  • C4

    一)构造函数初始化阶段 + 赋值阶段const数据成员,内嵌对象,基类都只有初始化语法的唯一选择。 二)裸指针的危...

  • Java类及对象的初始化顺序

    1.初始化规则: 下面规则优先级从前往后依次降低0.加载一个类时先初始化基类后初始化扩展类;1.类的初始化高于对象...

  • C++ - public继承的赋值兼容规则

    public继承的赋值兼容规则 派生类的对象可以赋值给基类对象 派生类对象可以初始化基类引用 派生类对象的地址可以...

网友评论

      本文标题:二、初始化基类

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