1

私は次のことを行うように指示されました。

  • Animal でスーパー コンストラクターを呼び出す引数のないコンストラクターを Carnivore で作成します。

Carnivore は、スーパー クラスである Animal のサブクラスです。そのため、Carnivore 内の Animal でコンストラクターを呼び出すことを検討しています。コードは次のとおりです。

動物のスーパークラス

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
}

}  

私はこれまで継承を扱ったことがなかったので、まだそれを理解しています。フィードバックをお待ちしております。

4

1 に答える 1

3

super()以下に示すように、スーパークラスコンストラクターを呼び出すために使用できます。

public class Carnivore extends Animal {

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

super() を使用すると、スーパークラスの引数なしのコンストラクターが呼び出されます。super(parameter list) を使用すると、一致するパラメーター リストを持つスーパークラス コンストラクターが呼び出されます。

継承と継承の基本を理解するには、ここを参照することをお勧めしますsuper

于 2016-11-27T22:36:19.653 に答える