java - 如何从另一个继承类调用 super 构造函数?

标签 java inheritance multiple-constructors

我被指示执行以下操作:

  • 在 Carnivore 中创建一个不带参数的构造函数,调用 Animal 中的 super 构造函数。

Carnivore 是 Animal 的子类,Animal 是父类(super class)。所以我想在 Carnivore 中调用 Animal 的构造函数。这是代码:

动物父类(super class)

abstract public class Animal 
{

    int age;
    String name;
    String noise;

Animal(String name, int age)   
{
    this.age = age;
    this.name = name;
} 

Animal()
{
  this("newborn", 0); //This is the super class that needs to be called in Carnivore.
}

}

食肉动物亚类

public class Carnivore extends Animal
{

   Carnivore()
{
   //Call Animal super constructor
}

}  

我以前没有使用过继承,所以我仍在掌握它。感谢任何反馈,谢谢。

最佳答案

您可以使用super()调用父类(super class)构造函数,如下所示:

public class Carnivore extends Animal {

  Carnivore() {
    super(); //calls Animal() no-argument constructor
  }
}

With super(), the superclass no-argument constructor is called. With super(parameter list), the superclass constructor with a matching parameter list is called.

建议您引用here了解继承和super的基础知识。

关于java - 如何从另一个继承类调用 super 构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40834704/

相关文章:

java - 在类中将关键字 this 与多个构造函数一起使用

c# - 关于C#中构造函数的几个问题

scala - 了解以函数作为参数的辅助构造函数中的 Scala 行为

java - 与 Statement 对象的 setFetchSize 方法混淆

java - 什么是NullPointerException,我该如何解决?

php - 创建一个新的被调用类而不是父类的实例

php - 目的是什么或将 protected 功能与做同样事情的公共(public)功能包装在一起?

java - 是否有解决此错误的方法...Collections 类型中的方法 synchronizedSet(Set<T>, Object) 不可见

java - PC (Java) 和 Android 之间的蓝牙传输速度缓慢

java - java中如何从父类(super class)或后代类调用检查junit方法?