【发布时间】:2018-05-15 07:37:11
【问题描述】:
我创建了一个 HashMap,其中键作为类,值作为抽象类的 ArrayList,我希望从该抽象类元素中获取 ID 或名称。 但是,当从 ABSTRACT CLASS 访问元素时,它只返回抽象类中的内容,而不是扩展抽象类的类中的方法。 有没有办法在不更改我的抽象类以包含这些字段的情况下获得扩展抽象类的方法的入口。
private HashMap<Persoana,ArrayList<Account>>Unu;
for (Entry<Persoana, ArrayList<Account>> entry : Unu.entrySet()) {
if (entry.getValue().get(i).getClass().???) {
System.out.println("found"+entry.getKey() + "/" + entry.getValue());
return entry.getValue();
}
i++;
System.out.println(entry.getValue());
}
return null;
}
我的抽象类:
public abstract class Account extends Observable{
public abstract void retragere(int sumaDeRetras);
public abstract void depunere(int sumaDeDepunere);
}
一个扩展我的抽象类的类和我希望在我的 main 中访问的方法。
public class SavingsAccount extends Account {
private long suma;
private Date dataRetragere ;
private Date dataDepunere;
private int interest=5;
private int IBAN;
private int idClient;
private long watchedSum;
public int getIBAN() {
return IBAN;
}}
【问题讨论】:
-
解决方案可以取决于您需要做什么?为什么
Account首先没有 IBAN? -
因为我使用账户类型作为指导。(储蓄或支出)并且 IBAN 在其中一种类型中是唯一的,而不是在这两种类型中(例如,我可以有一个支出账户IBAN 1212 和具有相同 IBAN 的储蓄账户,这将是两件不同的事情)或者至少我是这么想的,我不确定自己是否会实施。
标签: java arraylist hashmap abstract-class