Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从两个不同类的两个对象打印变量';s、 在Arraylist中,java_Java_Arraylist_Transactions - Fatal编程技术网

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

从两个不同类的两个对象打印变量';s、 在Arraylist中,java,java,arraylist,transactions,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 transac

我有一个
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
和存款有两个变量,check/cash==要编辑的金额

当程序完成并打印摘要时,我需要让这些对象打印它们的变量

在我有一个简单的
arraylist.get(I).getID之前,如果ID==(我想要的数字)

print=arralist.get(i).getAmount(i)
,在它们被分离的类之前,现在它们被分离了,我不能调用每个对象,但是如何在
arraylist
中单独请求该对象变量呢

我做不到
arraylist.getobject.getcash
arraylist.getobject.getcheck

因为“geter”在deposit类中,而不是account类中,而且这些成员是私有的,所以我不能简单地将它们添加到
accountclass
arraylist
所在的位置

差不多


如何从arraylist中具有不同唯一变量的对象中打印成员变量。

您需要的是
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...

发布您的代码,而不是将其转换为英语。谢谢,如果它是一个实例,那么我可以double=arraylist.get(i).getcheck吗?问题是,一旦im在Jpanel中引用arraylist,我就无法从im所在的方法中打印该对象变量。是的,一旦知道实例是什么,就可以调用特定于该实例的方法,例如arraylist.get(i).getCheck()。我将更新我的示例。非常感谢,我搜索了一下,除了做一个新的数组和循环,还要编写更多的代码外,还没有找到解决这个问题的好方法。我在工作,整天都在想这件事。我今晚回家后会试试的。