Задать вопрос

Ошибка в наследовании?

class Man{  //суперкласс
    protected String name;
    protected int age;
    
    Man(String name, int age){
        this.name=name;
        this.age=age;
    }
    String getName(){
        return name;
    }
    int getAge(){
        return age;
    }
    public void tellAboutYourself(){
        System.out.println("Name: " + name);
        System.out.println("Age: " + age);
    }
}

class Worker extends Man{  //подкласс
    protected int number;
    protected String email;
        
    Worker(String name, int age, int number, String email){
        super(name, age);
        this.number=number;
        this.email=email;
    }
    void work(){
        System.out.println("I'm working.");
    }
    public void tellAboutYourself(){
        System.out.println("Number: " + number);
        System.out.println("email: " + email);
        System.out.println("name: " + name);
        System.out.println("age: " + age);
    }
}

//использует методы классов Man и Worker
class Program{
    public void objects(){
        Man men = new Man();      //ошибка
        Worker worker = new Worker();
        men.tellAboutYourself();
        worker.tellAboutYourself();
        worker.work();
    }
}
  • Вопрос задан
  • 159 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@igorcc
Проблема в вызове конструктора (такого конструктора нет):
Man men = new Man(); //ошибка
Создайте дефолтовый конструктор
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos
1) Текст ошибки приведите.
2) А где тут наследование?
Ответ написан
Vityarik
@Vityarik
Попробуй так

Man men = new Man('Вася', 13); //ошибка
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы