【发布时间】:2016-01-03 03:42:13
【问题描述】:
我有一个父类和一个子类 Child。我想创建一个 ArrayList 来存储这两个类的对象。 有这样的可能吗?
我尝试了以下操作:
ArrayList<Parent> list= new ArrayList<Parent>();
Parent a;
Parent b;
Child c;
list.add(a);
list.add(b);
list.add(c);
到目前为止,编译器没有给我任何错误,所以我想没关系。但是,当我尝试对从 ArrayList 获得的对象使用 Child 的方法时,我无法使用它! 而
list.get(2).countNumbers();
这给我一个错误,方法countNumbers在Child中。我很困惑,提前谢谢!
【问题讨论】:
-
请说明错误是什么。仅仅说您收到错误并不足以说明您所看到的内容。
-
stackoverflow.com/questions/897935/…。这应该可以帮助你。虽然在你的情况下类型转换或使用
T extends SomeClass -
错误是找不到符号...我认为很清楚,抱歉给您带来不便
-
只是一个不相关的说明:您应该使用
List接口而不是ArrayList实现:List<Parent> list = new ArrayList<Parent>();。这使您的代码更具可扩展性。
标签: java inheritance arraylist parent-child