Java 如何使用不同的方法实现单独的支票/储蓄账户

Java 如何使用不同的方法实现单独的支票/储蓄账户,java,polymorphism,Java,Polymorphism,我正在尝试创建一个简单的银行系统,让客户同时拥有支票和储蓄账户。这两种类型的帐户都从帐户类继承。这些账户的不同之处在于,支票可以从支票账户中开出,利息可以加到储蓄账户中。但是,由于我使用多态性,我无法找到访问方法以编写检查的方法,因为该方法在超类中不存在。有什么想法吗?我不会用“写支票”作为一种方法 我将从一个界面开始,该界面将定义所有帐户可以做什么: public interface Account { void deposit(Money amount); void with

我正在尝试创建一个简单的银行系统,让客户同时拥有支票和储蓄账户。这两种类型的帐户都从帐户类继承。这些账户的不同之处在于,支票可以从支票账户中开出,利息可以加到储蓄账户中。但是,由于我使用多态性,我无法找到访问方法以编写检查的方法,因为该方法在超类中不存在。有什么想法吗?

我不会用“写支票”作为一种方法

我将从一个界面开始,该界面将定义所有帐户可以做什么:

public interface Account {
    void deposit(Money amount);
    void withdraw(Money amount);
    Money getBalance();    
}
从那开始。让
SavingsAccount
CheckingAccount
实现该接口(或者创建一个
AbstractAccount
并让两者都扩展它)

一旦你有了这些,问问自己:这两者的多态性差异是什么?我猜其中一个有利息,另一个没有。两者都可能收取不同的费用

这里需要的不仅仅是
帐户

我会有一个
Bank
类来管理
账户的集合。它将根据某些时间表决定何时支付利息(例如,如果按月复利,则在每月的第一天)。
银行
可以循环使用
账户
收款,并将当天余额计算的金额存入每个
储蓄账户


如您所见,所有帐户的界面都运行良好

显示您的代码。你几乎肯定误解了某些东西,因为子类被允许拥有在超类中找不到的方法。我理解这一点,但我无法从驱动程序类访问这些方法,因为它们在超类中找不到