Хорошо, так что есть родительский объект, BankAccount, который является Arraylist, а затем есть три подкласса, присущие BankAccount: чеки, сбережения и учетная запись CD.
Несколько вещей: Когда я пытаюсь получить доступ к методамребенка после выполнения полиморфного вызова я получаю, что объект BankAccount, скажем, типа CDAccount, не имеет доступа к этим методам.См. Код:
} else if(bank.getAcct(index).accType.equalsIgnoreCase("Savings"))
{
BankAccount bankAcc = new SavingsAccount ((SavingsAccount) bank.getAcct(index));
bankAcc.makeWithdrawal(requestedAccount, amountToWithdraw);
} else {
BankAccount bankAcc = new CheckingAccount ((CheckingAccount) bank.getAcct(index));
Я пытаюсь привести здесь, но получаю сообщение об ошибке, в котором говорится, что аргументы, которые я посылаю в .makeWithdrawl (который был перезаписан CheckingAccount), не могут получить объект BankAccount
bankAcc.makeWithdrawal( amountToWithdraw);
См. Попытка литья ...: (