可以按照以下方式编写 Java 程序来创建 Fiction 和 NonFiction 两种书,并显示它们的字段:
public abstract class Book {
private String title;
private double price;
public Book(String title, double price) {
this.title = title;
this.price = price;
}
public String getTitle() {
return title;
}
public double getPrice() {
return price;
}
public void setTitle(String title) {
this.title = title;
}
public void setPrice(double price) {
this.price = price;
}
public abstract String getBookType();
}
public class Fiction extends Book {
public Fiction(String title, double price) {
super(title, price);
}
public String getBookType() {
return "Fiction";
}
}
public class NonFiction extends Book {
public NonFiction(String title, double price) {
super(title, price);
}
public String getBookType() {
return "Non-Fiction";
}
}
public class Main {
public static void main(String[] args) {
Fiction fictionBook = new Fiction("Harry Potter", 29.99);
NonFiction nonFictionBook = new NonFiction("Java for Beginners", 19.99);
System.out.println(fictionBook.getTitle() + ", $" + fictionBook.getPrice() + ", " + fictionBook.getBookType());
System.out.println(nonFictionBook.getTitle() + ", $" + nonFictionBook.getPrice() + ", " + nonFictionBook.getBookType());
}
}
在这个例子中,我们定义了一个 Book 抽象类,其中包含通用字段和方法,然后我们继承 Book 类以创建 Fiction 和 NonFiction 书籍,并实现 getBookType() 方法来确定书籍类型。
在 Main 类中,我们创建了 Fiction 和 NonFiction 的实例,并使用它们的方法以显示其标题、价格和类型。运行程序后,输出结果应该为:
Harry Potter, $29.99, Fiction
Java for Beginners, $19.99, Non-Fiction