• 父类构造方法有无参数对子类的影响。


    ①.当父类没有无参构造方法时:

        1).子类也不能有无参构造方法;

        2).且必须在子类构造方法中显式以super(参数)的形式调用父类构造方法;

        否则会出现如下的错误:

            Implicit super constructor Person() is undefined for default constructor. Must define an explicit constructor

        3).子类在有参构造方法中显式调用super(参数)后,如果再写一个无参构造方法,则会出现下面的错误:

            Implicit super constructor Person() is undefined. Must explicitly invoke another constructor

    ②.父类有无参构造方法时:

        1).子类可以有无参构造方法;

        2).也可以有有参构造方法;在有参构造方法中,可以用super显式调用父类构造方法也可以不调用;

        也就是说,这时候,子类在构造方法的创建上是比较自由的。

    总结(追加):

    ①.父类没有无参构造方法时,子类也不能有无参构造方法,必须用super显式调用父类构造方法。

    ②.父类没有无参构造方法且有多个有参构造方法时,子类可以只显式调用父类的一个构造方法;

        子类也可以构造多个构造方法,只要保证每个构造方法都显式调用了父类构造方法就可以,对于调用父类哪一个构造方法则没有要求。

    ③.父类有无参构造方法时,子类可以有无参构造方法,也可以有有参构造方法;

        既可以用super显式调用父类构造方法,也可以不用super显式调用。

  • 相关阅读:
    【转】python装饰器
    【原】python异步学习
    【转】Docker学习_本地/容器文件互传(5)
    【原】容灾/容错概念理解
    【原】thinkphp实现存储session至redis
    【原】thinkphp修改Redis操作类,支持选择数据库功能及添加其他方法
    高性能CSS(三)
    Free Code Camp社区对数百计编程学习者进行的统计希望告诉你什么?
    最精简24L01程序--发送
    金日
  • 原文地址:https://www.cnblogs.com/wangffeng293/p/12516910.html
Copyright © 2020-2023  润新知