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就会报错。因为已经没有默认的无参构造方法调用,而你在基类中又没有写另外的无参构造方法。

  • 相关阅读:
    audio_policy.conf说明(翻译)
    Qt
    linux C
    Linux C
    Linux C
    Qt
    Qt
    JSON
    JSON
    Qt
  • 原文地址:https://www.cnblogs.com/wangshen31/p/6791390.html
Copyright © 2011-2022 走看看