2
以下是解釋我的情況的基本框架代碼。如何在抽象超類中使用子類中的方法
這是超級抽象類:
public abstract class Person
{
public void buyFood(String foodName, int payment)
{
System.out.println("Buy " + foodName + " and pay $" + payment + ".");
pay(payment);
}
}
這是一個子類的超抽象類:(注意,我刪除了其他功能,如構造函數和方法,使後短
public class Visitor extends Person
{
public void pay(int amount)
{
money_v -= amount;
System.out.println(this.to_s() + " has got HK$" + money_v + "left.");
}
}
我想在抽象類中使用這個public void pay(int amount)方法;但是,超級抽象類Person不會接受付款(付款),因爲該方法不在範圍內。 ?
感謝〜
此外,我會建議他閱讀關於模板方法模式(http://en.wikipedia.org/wiki/Template_method_pattern)如何在抽象類中強制執行基本行爲並確定應該由子類。 – Smutje