从两个不同类中的两个对象打印变量,在Arraylist中,java

时间:2016-03-25 19:20:12

标签: java arraylist transactions

我有一个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中具有不同唯一变量的对象打印成员变量。

1 个答案:

答案 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...