美文网首页我与咖啡娘的爱恨情仇
06.继承中的构造方法执行顺序

06.继承中的构造方法执行顺序

作者: 今天庹 | 来源:发表于2018-09-19 21:29 被阅读0次

继承中构造方法的执行顺序

  • A:super(实参列表);语句 在子类的构造方法中使用,用来调用父类中的构造方法(具体哪一个由传递的参数决定),并且只能在构造方法第一行使用
  • B:this(实参列表); 语句 在类的构造方法中使用,用来调用本类中的其它构造方法(具体哪一个由传递的参数决定),并且只能在构造方法的第一行使用
package com.itheima;
/*
 * 继承中构造方法的执行顺序
 *          在有子父类继承关系的类中,创建子类的对象,调用子类的构造方法,
 *          如果子类构造方法的第一行没有调用父类的构造方法,则会默认调用父类的无参构造(※注意:第一行不算注释)
 *          肯定会先执行父类的构造,因为要先给父类的成员变量进行初始化,子类可能会使用到
 * 为什么要调用父类构造?
 *          因为需要给父类的成员变量初始化
 * 
 * 我们可以使用super()在构造方法的第一行调用父类的构造方法
 * 
 * 我是父类无参构造 --- 我是子类有参构造 --- 我是子类无参构造
 */
public class ExtendsDemo6 {
    public static void main(String[] args) {
//      Die d = new Die();
        Zi z = new Zi();
    }
}

class Die {
    public Die() {
        System.out.println("我是父类无参构造");
    }
    
    public Die(int num) {
        System.out.println("我是父类有参构造");
    }
}

class Zi extends Die {
    public Zi() {
//      super(1);
        this(2);//不会再调用父类的无参构造了
        System.out.println("我是子类无参构造");
    }
    
    public Zi(int num) {
//      super();    //会默认调用父类无参构造
        System.out.println("我是子类有参构造");
    }
}

相关文章

  • 06.继承中的构造方法执行顺序

    继承中构造方法的执行顺序 A:super(实参列表);语句 在子类的构造方法中使用,用来调用父类中的构造方法(具...

  • 牛客学习第二天

    子类继承父类,方法执行顺序: 先执行父类的静态方法再执行子类的静态方法然后父类的构造代码块、构造方法、子类的构造代...

  • scala-继承与特质

    继承与特质 继承 继承的概念 使用extends关键字: 构造器的执行顺序 Scala在继承的时候构造器的执行顺序...

  • java043继承中构造方法的执行顺序及继承的优缺点

    1.首先先写一个类 package extendsDemo; /* *继承中构造方法的执行顺序: * 在有子父类的...

  • Java基础之类的执行顺序和变量的作用范围

    类的执行顺序:一般类中包含静态代码块,构造代码块,构造方法,执行的顺序也是静态代码块,构造代码块,构造方法 考虑继...

  • C++继承

    继承访问权限 先看继承的权限关键字,再看父类的成员变量声明关键字。 构造函数执行顺序 调用父类构造方法 调用组合类...

  • Java代码块的执行顺序

    执行顺序首先执行静态代码块接着执行构造代码块最后指向构造方法 静态代码块 >>> 构造代码块 >>>> 构造方法 ...

  • 继承与组合复用

    继承 继承体系初始化顺序 创建子类对象时,默认先调用父类的无参构造方法,当父类中存在多个构造方法,但没有无参构造方...

  • java se super、this关键字

    继承中,构造方法的访问特点 1、子类创建的构造方法中,有一个默认隐含的super()调用,所以先执行父类,在执行子...

  • Java中的继承

    继承初始化顺序 1、初始化父类再初始化子类2、先执行初始化对象中属性,再执行构造方法中的初始化 重写 1、什么是方...

网友评论

    本文标题:06.继承中的构造方法执行顺序

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