我正在尝试进行分配,但在实例化具有字符串参数的对象时遇到问题。到目前为止,当我编译并运行应用程序时,它返回字符串值“Null”,而不是我期望的值。
这是我的抽象父类(super class)
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;
}
}
这是我的主要方法类,其中应该用标题 The White Unicorn 实例化对象 fictionBook。但是,出于某种原因,我的 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());
}
}
我不知道问题出在哪里。任何人都可以帮助我吗?我还有一个非小说类书籍的子类,但我还没有达到这一点。
最佳答案
public Book(String bookTitle)
{
bookTitle = title;
}
您将参数设置为属性值——可能与您的预期相反?
关于Java 使用字符串参数实例化对象时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791657/