Как с помощью super джава узнает, что именно вместо слова type нужно подставить название машины? А если б там было несколько пропущенных слов?
Serafima Tatchenkova
11 уровень
Не понимаю
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Stanislav Kot Android Developer
25 августа 2021, 11:29
Если посмотреть в класс Сar, там есть конструктор(метод который создает объект класса Car) Car(String type), в который принимает на вход строку(String), которую мы назвали type.
Ее мы и используем в самом методе, а именно в System.out.println("Привет. Я " + type);
Фактически конструктор у нас будет выглядеть так:
public Car(String type) {
String type = "то что мы передаем при вызове конструктора";
System.out.println("Привет. Я " + type);
}
Если бы у нас был конструктор, например Car(String type, String brand), то тогда мы могли бы передать например и марку авто:
public Car(String type, String brand) {
System.out.println("Привет. Я " + type + " марки " + brand);
}
И при вызове super("ElectroCar", "Tesla") метод был бы такой:
public Car(String type, String brand) {
String type = "ElectroCar";
String brand= "Tesla";
System.out.println("Привет. Я " + type + " марки " + brand);
// "Привет. Я " + ElectroCar + " марки " + Tesla
}
0
Ирина Алымова Java Developer в Nerdysoft
24 августа 2021, 17:00
super вызывает конструктор родительского класса с параметром type
если было бы нужно больше слов, значит нужен конструктор с большим количеством параметров
+1
Алексей
22 сентября 2021, 19:23
Почему "super" то?
0
Shnyashva
3 октября 2021, 09:25
Потому что это ключевое слово :)
С помощью super(список параметров) вызывается конструктор суперкласса с соответствующим списком параметров.
https://docs.oracle.com/javase/tutorial/java/IandI/super.html
0
Алексей
3 октября 2021, 11:47
Это позже становится понятно.
+2