Написал в целом верное решение, но в одном моменте допустил ошибку, потому что не совсем разобрался.
Так выглядит конструктор суперкласса
abstract static class Book {
private String author;
public Book(String author) {
this.author = author;
}
Я написал вот так изначально
public static class MarkTwainBook extends Book{
private String author="Mark Twain";
public String title;
public MarkTwainBook(String title){
this.title=title;
}
Вот так выглядит правильный конструктор
public MarkTwainBook(String title){
super("Mark Twain");
this.title=title;
}
Компилятор вылетал с ошибкой по конструкторам. Долго не мог понять в чем дело. Правильно ли я понимаю, что всегда первым вызывается конструктор суперкласса, а потом уже наследника? а что мне делать если я не хочу вообще вызывать конструктор суперкласса? Так можно?