【发布时间】:2011-11-21 05:04:47
【问题描述】:
我在尝试完成一些课程作业时遇到问题,我们将不胜感激!
我有 3 种类型的帐户,它们扩展了抽象类型“帐户”。[CurrentAccount、StaffAccount 和 MortgageAccount]。
我正在尝试从文件中读取一些数据并创建帐户对象以及用户对象以添加到程序中存储的哈希图中。
当我创建帐户对象时,我使用帐户类型的临时变量并根据读入的数据定义其子类型。
例如:
Account temp=null;
if(data[i].equalsIgnoreCase("mortgage"){
temp= new MortgageAccount;
}
问题是当我尝试调用属于 MortgageAccount 类型的方法时..
我是否需要每种类型的临时变量 StaffAccount MortgageAccount 和 CurrentAccount 并相应地使用它们以使用它们的方法?
提前致谢!
【问题讨论】:
-
是的,您需要为每种类型设置临时变量。不能通过父引用调用子方法。或者你必须将对象转换为它的子类型,然后你可以调用它的方法。
标签: java polymorphism class-hierarchy