从两个不同类的两个对象打印变量';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()。我将更新我的示例。非常感谢,我搜索了一下,除了做一个新的数组和循环,还要编写更多的代码外,还没有找到解决这个问题的好方法。我在工作,整天都在想这件事。我今晚回家后会试试的。