public static class MarkTwainBook extends Book{
public String title;
public MarkTwainBook(String title){
this.title = title;
super("Mark Twain");
}
@Override
public MarkTwainBook getBook() {
return this;
}
@Override
public String getTitle() {
return title;
}
}
Почему если поменять местами 2 строки в конструкторе
super("Mark Twain");
this.title = title;
код проходит валидацию а в такой версии не проходит?
Michael
30 уровень
Почему выдает ошибку в конструкторе?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений Халин
25 августа 2021, 10:03
super() в конструкторе всегда на первом месте! Это обязательное условие.
+1
KIRAExpert
20 августа 2021, 07:58
Если в конструкторе есть ключевое слово super то оно должно быть первой строкой всегда
Если в конструкторе наследника нет явного вызова super() JVM сама его подставляет первой строкой
+3