【发布时间】:2016-03-06 20:21:53
【问题描述】:
假设我有一个 A 类,它有一些方法。然后我有一个扩展 A 的 B 类,但有一个额外的变量。现在我想在另一个类中有一个 A 和 B 的 ArrayList,这样当我使用 .getName() 方法遍历列表时,我得到了两个类的名称?我是创建一个 ArrayList<A> 并向其中添加 A 和 B 的实例,还是创建一个 ArrayList<Object> ?在ArrayList<Objects> 的情况下,如何在不同的对象上调用.getName()?
【问题讨论】:
-
如果我正确理解您的意图,您应该可以使用
ArrayList<A>,因为 B 是 A 的子类。如果两个类都有getName()方法(B 将继承自A,但您也可以选择覆盖它),您只需要一个循环来遍历您的ArrayList并为ArrayList中的每个对象调用getName()方法。
标签: java inheritance arraylist superclass