Как будет работать программа?

182
27 ноября 2021, 06:00

Подскажите, пожалуйста, зачем так пишут и как будет работать программа?

public class Human {
  public void voice(){
    System.out.println("Я человек");
  }
}
public class Worker extends Human{
  public void voice(){
     super.voice();
     System.out.println("Я рабочий");
   }
 }
 public class MyClass{
   public static void main(String[] args){
     Worker worker =new Human();
     worker.voice();
     }
   }

Вопрос в том,что будет и зачем в дочернем классе писать super,если же метод был переопределен? Почему просто,не использовать родительский метод по умолчанию?

Answer 1

Программа не скомпилируется

public class My class{

Лишний раз написано class

Worker worker =new Human();

Так тоже не правильно, нельзя вызвать конструктор родительского класса, наоборот можно.

system.out.print ("Я человек");

system написано с маленькой буквы, а должно быть System

Answer 2

А затем, что, чтобы добавить вывод строки "я рабочий", нужно переопределить родительский метод. А super нужно писать, чтобы получить доступ к родительским неprivate конструкторам, методам, переменным, константам. Вот и здесь нам необходимо выполнить то, что находится в методе родителя, потому мы и вызываем метод родителя, чтобы не плодить одинаковый код. Хотя, если такого метода нет в нашем подклассе, super можно и не писать (но желательно, чтобы указать на то, что метод, переменная или константа родительская)(к конструктору это не относится)

READ ALSO
Чтение DBF в Java

Чтение DBF в Java

Есть DBF файл с определенным набором полейЗаписей в таблице около 50 тысяч

227
Сортировка списка данных из bd java

Сортировка списка данных из bd java

Есть вот такой кодОн выбирает из базы данные за 24 часа

162
Не стилизуется форма на сайте

Не стилизуется форма на сайте

Новичок в web, не кидайте помидорами) Верстаю форму для сайта, которая должна выглядеть примерно так: https://istack

97
Почему при разрешении телефона в 1920х1080 медиазапрос срабатывает только при min-width: 350px и ниже?

Почему при разрешении телефона в 1920х1080 медиазапрос срабатывает только при min-width: 350px и ниже?

Когда верстал адаптив в сайте на телефоне медиа-запросами встретился с такой странностью - на смартфоне 55 дюймов с full hd медиа-запрос min-width...

87