2016-11-27 2 views
0

Мне было поручено сделать следующее:Как вызвать супер-конструктор из другого унаследованного класса?

  • Создать конструктор без аргументов в Carnivore, которые называют супер конструктор в животных.

Carnivore - это подкласс класса Animal, который является суперклассом. поэтому я хочу вызвать конструктора в Animal in Carnivore. Вот код:

животных супер-класса

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 
} 

} 

Я не работал с наследованием прежде, таким образом я все еще получаю к захватывает его. Любая обратная связь приветствуется, спасибо.

ответ

2

Вы можете использовать super() для вызова супер конструктор класса, как показано ниже:

public class Carnivore extends Animal { 

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

с супер(), суперкласс конструктор без аргументов не называется. С супер (список параметров) вызывается конструктор суперкласса с соответствующим списком параметров .

Я рекомендую вам обратиться here понять основы наследования и super.