Поясните пожалуйста суть по первым двум крестикам в валидации.
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 Book getBook();
public abstract String getTitle();
private String getOutputByBookType() {
String agathaChristieOutput = author + ", " + getBook().getTitle() + " is a detective";
String markTwainOutput = getBook().getTitle() + " book was written by " + author;
String output = "output";
//12. Метод getOutputByBookType должен возвращать корректную строку для объектов типа AgathaChristieBook.
//13. Метод getOutputByBookType должен возвращать корректную строку для объектов типа MarkTwainBook.
return output;
}
public String toString() {
return getOutputByBookType();}
}
//3. В классе MarkTwainBook должен быть корректно реализован конструктор с одним параметром типа String(название книги).
//4. Конструктор класса MarkTwainBook должен вызывать конструктор класса предка(Book) с параметром "Mark Twain"..
//5. Метод getBook в классе MarkTwainBook должен иметь тип возвращаемого значения MarkTwainBook и возвращать текущий объект.
//11.Метод getTitle в классе MarkTwainBook должен возвращать название конкретной книги.
//14. В классе MarkTwainBook должно быть создано поле title типа String(название книги).
public static class MarkTwainBook extends Book{
String tittle;
public MarkTwainBook(String title){
super("Mark Twain");}
public MarkTwainBook getBook(){
return new MarkTwainBook(getBook().getTitle());}
public String getTitle(){
return this.tittle;}
}
//7. Класс AgathaChristieBook должен быть потомком класса Book.
//8. В классе AgathaChristieBook должен быть корректно реализован конструктор с одним параметром типа String(название книги).
//10. Метод getBook в классе AgathaChristieBook должен иметь тип возвращаемого значения AgathaChristieBook и возвращать текущий объект.
//9. Конструктор класса AgathaChristieBook должен вызывать конструктор класса предка(Book) с параметром "Agatha Christie".
//11.Метод getTitle в классе AgathaChristieBook должен возвращать название конкретной книги.
public static class AgathaChristieBook extends Book{
String title;
public AgathaChristieBook(String title){
super("Agatha Christie");}
public AgathaChristieBook getBook(){
return new AgathaChristieBook(getBook().getTitle());}
public String getTitle(){
return this.title;}
}
}