Подскажите, пожалуйста, зачем так пишут и как будет работать программа?
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,если же метод был переопределен? Почему просто,не использовать родительский метод по умолчанию?
Программа не скомпилируется
public class My class{
Лишний раз написано class
Worker worker =new Human();
Так тоже не правильно, нельзя вызвать конструктор родительского класса, наоборот можно.
system.out.print ("Я человек");
system написано с маленькой буквы, а должно быть System
А затем, что, чтобы добавить вывод строки "я рабочий", нужно переопределить родительский метод. А super нужно писать, чтобы получить доступ к родительским неprivate конструкторам, методам, переменным, константам. Вот и здесь нам необходимо выполнить то, что находится в методе родителя, потому мы и вызываем метод родителя, чтобы не плодить одинаковый код. Хотя, если такого метода нет в нашем подклассе, super можно и не писать (но желательно, чтобы указать на то, что метод, переменная или константа родительская)(к конструктору это не относится)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Новичок в web, не кидайте помидорами) Верстаю форму для сайта, которая должна выглядеть примерно так: https://istack
Когда верстал адаптив в сайте на телефоне медиа-запросами встретился с такой странностью - на смартфоне 55 дюймов с full hd медиа-запрос min-width...