когда создаю экземпляр marktwenbook, проблема с конструктором: пишет, что передаю неверный параметр. мол, у меня конструктор без параметров, а я ему что-то передаю. хрень какая-то.
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>();
MarkTwainBook m = new MarkTwainBook("Tom Sawyer", "Mark Twain");
books.add(m);
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() + " was written by " + author;
String output = "output";
if(author.equals("Mark Twain")){return markTwainOutput;}
else if(author.equals("Agatha Christie")){return agathaChristieOutput;}
}
public String toString() {
return getOutputByBookType();
}
}
public static class MarkTwainBook extends Book{
private String author;
public MarkTwainBook(String title, String author){
this.title = title;
super(author);
}
public Book getBook(){
return this;}
public String getTitle(){
return title;}
}
public static class AgathaChristieBook extends Book{
private String author = "Agatha Christie";
private String title;
public AgathaChristieBook(String title) {
this.title = title;
super(author);
}
public Book getBook(){
return this;}
public String getTitle(){
return title;}
}
}