Добрый день, компилятор ругается на конструкторы книг Марка Твена и Агаты Кристи. не могу понять где именно ошибка. Вот что выдаёт компилятор
constructor Book in class com.javarush.task.task15.task1504.Solution.Book
cannot be applied to given types; required: java.lang.String found: no arguments reason:
actual and formal argument lists differ in length:
Solution.java, line: 50, column: 43
cannot find symbol symbol: method Book(java.lang.String):
Solution.java, line: 51, column: 18
constructor Book in class com.javarush.task.task15.task1504.Solution.Book
cannot be applied to given types; required: java.lang.String found: no arguments reason:
actual and formal argument lists differ in length:
Solution.java, line: 65, column: 48
cannot find symbol symbol: method Book(java.lang.String):
Solution.java, line: 66, column: 18
а вот что у меня в коде
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;
            if(this instanceof AgathaChristieBook)
            return agathaChristieOutput;
            if(this instanceof MarkTwainBook)
            return markTwainOutput;


            String output = "output";
            //Add your code here

            return output;
        }

        public String toString() {
            return getOutputByBookType();
        }
    }
    public static class MarkTwainBook extends Book{
        private String title;
       public  MarkTwainBook(String title){
            super.Book("Mark Twain");
            this.title = title;
        }
         public MarkTwainBook getBook(){
             return this;
         }

        public  String getTitle(){
            return this.title;
        }

    }
    public static class AgathaChristieBook extends Book{
        private String title;
        public AgathaChristieBook(String title){
            super.Book("Agatha Christie");
            this.title = title;
        }
         public AgathaChristieBook getBook(){
             return this;
         }

        public  String getTitle(){
            return this.title;
        }
    }
}