zoukankan      html  css  js  c++  java
  • 继承中的构造方法

    1.子类构造的过程必须调用其基类的构造方法。(因为一个子类对象里面还有个父类对象啊)所以子类对象在构造的过程中应该首先调用父类的构造方法。

    2.子类可以在自己的构造方法中使用 super(argument list) 调用基类的构造方法。(argument list是数列表的意思)
    ①使用 this(argument list) 也可以调用本类 另外的一个 构造方法。
    ②如果调用super,必须写在子类构造方法的第一行。

    3.如果子类的构造方法中没有显示地调用基类的构造方法(即没写super),则系统默认调用基类无参数的构造方法。(是要有自己声明的一个参数为空的基类构造方法)
    如果子类构造方法中既没有显示地调用基类的构造方法,而基类中又没有无参的构造方法,则编译出错。

    注意:

    1. 如果一个类你没有为他专门写一个构造方法,那么Java compiler会自动帮你添加一个无参的构造方法,所以我们即使没有写构造方法,在写完一个类之后仍然可以用new关键字来创建对象,这用的就是自动添加的无参构造方法。
    2. 但一旦你写了一个或更多的构造方法,编译器就不会帮你自动添加那个无参的构造方法。

    所以,父类如果没有写任何的构造方法,上面情况3也不会报错,因为有个自动添加的无参构造方法。

    但如果父类中你只写了一个有参的构造方法,那么情况3就会报错。因为已经没有默认的无参构造方法调用,而你在基类中又没有写另外的无参构造方法。

  • 相关阅读:
    Linux硬盘分区方案
    mysql笔记四:索引查询及处理
    thread 学习笔记
    mysql笔记二:基本数据库、表查询操作
    linux 自学系列:监测端口占用情况
    linux 自学系列:命令行传输文件
    mysql笔记三:基本数据库、表创建更新操作
    mysql笔记五:权限管理
    threading源代码问题,为什么要将引入的变量del?
    linux 自学系列:更改系统语言编码
  • 原文地址:https://www.cnblogs.com/wangshen31/p/6791390.html
Copyright © 2011-2022 走看看