割り当てを実行しようとしていますが、Stringパラメーターを持つオブジェクトのインスタンス化に問題があります。これまでのアプリケーションをコンパイルして実行すると、期待したものではなく、「Null」の文字列値が返されます。
これは私の抽象的なスーパークラスです
public abstract class Book
{
//Declaration of class variable
private String title;
protected double price;
// contructor for Book class objects
public Book(String bookTitle)
{
bookTitle = title;
}
//method that gets and returns books title
public String getTitle()
{
return title;
}
//method that gets and returns books price
public double getPrice()
{
return price;
}
//abstract method with no parameters
public abstract void setPrice();
}
これは私のサブクラスです
public class Fiction extends Book
{
//subclass contructor
public Fiction(String bookTitle)
{
//calling superclass constructor
super(bookTitle);
}
//override annotation and setPrice method override
@Override
public void setPrice()
{
price = 19.99;
}
}
これは、オブジェクトfictionBookがタイトルTheWhiteUnicornでインスタンス化されることになっている私のメインメソッドクラスです。しかし、何らかの理由で私のprintlnは代わりにnullを出力しています
public class BookTester
{
//Main method
public static void main(String[] args)
{
//Instantiate object
Fiction fictionBook = new Fiction("The White Unicorn");
NonFiction nonFictionBook = new NonFiction("Autobiography of Curtis Sizemore");
//call to the setPrice() method
fictionBook.setPrice();
nonFictionBook.setPrice();
//Print information on books
System.out.println("The Fiction book titled \"" + fictionBook.getTitle() + "\"costs $" + fictionBook.getPrice());
}
}
何が問題なのかわかりません。誰か助けてもらえますか?ノンフィクションの本のサブクラスもありますが、まだその点に到達していません。