Подсвечивает красным getTitle() в методе getOutputByBookType(). Не понимаю, что они вообще выводить должны? Эти строки менять нельзя, тогда я не понимаю, что не так? Помогите...
package com.javarush.task.task15.task1504;
import java.util.LinkedList;
import java.util.List;
/*
ООП - книги
*/
public class Solution {
public static void main(String[] args) {
List<Book> books = new LinkedList<Book>();
books.add(new MarkTwainBook("Tom Sawyer"));
books.add(new AgathaChristieBook("Hercule Poirot"));
System.out.println(books);
}
abstract static class Book {
private String author;
public Book(String author) {
this.author = author;
}
public abstract Object getBook();
public abstract String getTitle();
private String getOutputByBookType() {
String agathaChristieOutput = author + ": " + getBook().getTitle() + " is a detective";
String markTwainOutput = getBook().getTitle() + " was written by " + author;
String output = "output";
//Add your code here
if (getBook().getClass().getSimpleName().equals("Agatha Christie")) {
return agathaChristieOutput;
}else {return markTwainOutput;}
}
public String toString() {
return getOutputByBookType();
}
}
public static class MarkTwainBook extends Book {
// private String author=;
private String title;
//"Mark Twain";
// public String author = ;
private MarkTwainBook(String title) {
super(title);
// this.title = title;
}
@Override
public MarkTwainBook getBook() {
;
return this;
}
@Override
public String getTitle() {
return title;
}
}
public static class AgathaChristieBook extends Book {
// private String author=;
private String title=" Agatha Christie";
// public String author = ;
private AgathaChristieBook(String title) {
super(title);
// this.title = title;
}
@Override
public AgathaChristieBook getBook() {
return this;
}
@Override
public String getTitle() {
return title;
}
}
}