基本上,我創建了一個抽象類Ticket
以防止Ticket類的實例化。這個Ticket
類是WalkupTicket
的超類。我應該執行TicketMain
課程來打印WalkupTicket的價格和門票號碼。而我不允許將price
作爲參數傳遞給構造函數。以下是我寫的代碼。但是,實例變量price
從未得到更新。我不知道哪裏出了問題。Java面向對象編程:未能更新實例變量
我相信我必須在繼承/多態性方面有一些誤解。請指出我的錯誤。謝謝。
public abstract class Ticket{
// Fields
private int tixNumber;
private double price;
// Constructor
public Ticket(int tixNumber){
this.tixNumber = tixNumber;
}
// Instance method
public double getPrice(){
return price;
}
public int getTixNumber(){
return tixNumber;
}
public String toString(){
return "Number: " + getTixNumber() + ", Price: " + getPrice();
}
}
public class WalkupTicket extends Ticket{
// Fields
private double price;
// Constructor
public WalkupTicket(int tixNumber){
super(tixNumber);
this.price = 50.0;
}
}
public class TicketMain{
public static void main(String[] args){
WalkupTicket ticket1 = new WalkupTicket(2);
System.out.println(ticket1.toString());
}
}
輸出是:
Number: 2, Price: 0.0
這不是我想要的。我想輸出是:
Number: 2, Price: 50.0
非常感謝你 – mynameisJEFF 2014-09-25 01:13:39
@Chinegro希望它有幫助 – MadProgrammer 2014-09-25 01:15:43