这是一个继承问题,而事实是Ticket类是抽象的,我正在尝试创建一个扩展Ticket类的AdvanceTicket类。 AdvanceTicket课程应该作为在活动前购买的门票,并且在活动开始前10天购买的门票价格为30美元。在活动开始前至少1天但不到10天购买的门票价格为40美元。
public abstract class Ticket {
private int serialNumber;
public Ticket() {
serialNumber = getNextSerialNumber(); {
}
//returns the price for this ticket
public abstract double getPrice();
}
public String toString() {
return "Number: " + serialNumber + "/nPrice: " + getPrice();
}
//returns a new unique serial Number
public static int getNextSerialNumber() {
//implementation not shown
}
}
答案 0 :(得分:2)
class AdvanceTicket extends Ticket
{
public double getPrice() //you must override abstract method ie. getPrice();
{
.......
}
}
如果你不想覆盖 getPrice()
,那么在派生类中也将其声明为 abstract ,并将派生类声明为抽象。
abstract class AdvanceTicket extends Ticket
{
public abstract getPrice();
}
答案 1 :(得分:0)
class AdvanceTicket extends Ticket
答案 2 :(得分:0)
您可以在创建课程时简单地扩展Ticket
。
class AdvanceTicket extends Ticket {
// Implementation here
}
关于代码的一般注释:如果您要使用serialNumber
,则应将其声明为static
。此外,/n
应为\n
。