zoukankan      html  css  js  c++  java
  • 115 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 05 super关键字的使用(下)

    115 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 05 super关键字的使用(下)

    本文知识点:super关键字的使用(下)

    说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

    super关键字的使用(下)

    问题需求

    之前,学习了满足继承的条件下,子类对象的实例化顺序
    mark
    即,要想产生子类的实例对象,会先去调用父类的对应的构造形式,先完成父类的构造。

    那么,新的问题出来了,作为子类对象,在构造时,是否有权力选择调用什么形式的父类构造呢?
    简单来说:就是,实例化子类对象的过程中,能否自行决定调用父类的哪个构造方法呢?
    mark

    代码演示——无参构造方法

    添加子类带参构造:
    mark

    添加父类带参构造:
    mark

    实际上子类默认调用父类无参构造方法 (即使子类的构造方法含参数,父类也有对应参数的构造方法,但是默认情况下,子类还是调用父类的无参构造方法)
    mark

    如果一不留神把父类的无参构造方法注释了,或者没有显式提供父类无参构造方法,子类的构造方法就会在编译时直接报错的:
    mark
    mark

    所以,无参构造方法很重要,无论是否需要无参构造方法,都建议在编写类的时候显式提供一个无参构造方法
    mark

    mark

    那如何调用父类的含参构造方法呢?
    使用super关键字即可调用父类的构造方法,既可以调用父类的无参构造方法,也可以调用父类的含参构造方法

    子类中使用super关键字调用父类的构造方法

    super()即表示调用父类的可以被访问的构造方法。**
    super关键字调用父类的无参构造方法
    mark

    super关键字调用父类的含参构造方法
    mark

    必须放在第一行
    mark
    mark

    必须在子类构造方法中才能调用父类构造方法,在其他方法中调用不被允许
    mark
    mark

    super关键字总结

    mark
    mark
    mark

    mark
    mark
    mark

  • 相关阅读:
    java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'
    generate failed: Cannot resolve classpath entry: mysql-connector-java-5.1.38.jar
    Spring boot 零配置开发微服务
    【ABAP系列】SAP ABAP BAPI_REQUISITION_CREATE创建采购申请
    【ABAP系列】SAP ABAP 字符编码与解码、Unicode
    【ABAP系列】ABAP CL_ABAP_CONV_IN_CE
    【Fiori系列】浅谈SAP Fiori的设计美感与发展历程
    【Fiori系列】为什么SAP Fiori活的如此精致
    【ABAP系列】SAP ABAP下载带密码的Excel文件
    【ABAP系列】SAP ABAP 高级业务应用程序编程(ABAP)
  • 原文地址:https://www.cnblogs.com/xlfcjx/p/13788056.html
Copyright © 2011-2022 走看看