我有一个accountclass
,其arraylist
保存来自其他两个类的对象。这些类是存款/支票,它们是从通用交易类扩展而来的。
父类:
Transaction(Double Amount,Int transactionType,Int transactionNumber)
//amount holds amount to be edited in the balance
//type =1,2,3;check,deposit,or fee
//number=number transaction in the account done.
check extends transaction;
super(constructor)
deposit extends transaction
super(constructor);
除了检查有变量,checknumber
和存款有两个变量,检查/现金= =金额要编辑。
当程序完成并打印摘要时,我需要让这些对象打印它们的变量。
在我有一个简单的arraylist.get(i).getID, if ID == (the number I want)
print=arralist.get(i).getAmount(i)
,就在它们被分离的类之前,现在它们已经分开了,我不能调用每个对象,但是我如何在arraylist
中单独询问对象变量。
我无法arraylist.getobject.getcash
arraylist.getobject.getcheck
因为'geter'在存款类中,而不在帐户类中,并且这些成员是私有的,所以我不能简单地将它们添加到accountclass
所在的arraylist
。
非常好,
如何从arraylist中具有不同唯一变量的对象打印成员变量。
答案 0 :(得分:0)
instanceof
运营商正是您所寻找的。它将让您找出ArrayList中元素所属的类,然后您可以采取适当的操作。这是一个例子:
if(ArrayList.get(i) instanceof Check) {
// take actions specific to checks
String checkNum = ArrayList.get(i).getCheckNumber();
}
if(ArrayList.get(i) instanceof Deposit){
//take actions specific to deposits
double cash = ArrayList.get(i).getCash();
}
etc...