java访问多态数组中的子类变量
我有一个班叫bankaccount。我有一个Bankaccount对象数组,精确地说是0-2-3。Bankaccount是一个超级类。我还有另外两个班,支票和储蓄都是从银行账户中提取的。我有两个字段是支票和储蓄。一个是ID,另一个是账户的余额,应该对应于该ID。我还有一个叫做赋值1的主类。这是我的问题。昨天有人告诉我,我可以通过检查数组(如arBankaccount[I])来获取帐户id。getId();这不起作用,因为检查和储蓄的getter setter方法位于检查和储蓄类而不是超类bankaccount中。我不知道该怎么解决这个问题。我需要检查数组并找出哪个ID位于数组中的哪个引用。继承对我来说是新鲜事,如果这个问题很愚蠢,我很抱歉
# 1 楼答案
Psuedo代码,未经测试,在我的脑海中
现在
bankAccount[i].getId(0)
将起作用# 2 楼答案
如果在id的
Checking
和Savings
中有不同的实现(或者在BankAccount
的后一个子类中),可以使用getId
/setId
方法使BankAccount
成为一个接口,并让Checking
/Savings
实现该接口:注意:您不需要
getId
/setId
在BankAccount
(仅是签名)中的实现,因为它是一个接口:它只描述其实现者拥有的方法其优点是,您可以提供自己的方法实现,而不考虑其他类的实现