【发布时间】:2014-09-13 12:14:57
【问题描述】:
我有一个抽象类 C0。 我还有其他几个从 C0 继承的类。它们覆盖抽象方法并拥有自己的特殊方法。
我想创建一个包含所有这些专用类的 ArrayList。
这是一段代码,展示了我(想要)如何做到这一点:
ArrayList<C0> A = new ArrayList<>();
A.add(new C1() );
A.add(new C2() );
A.get(x).method_of_C0(); // Works because my classes extend C0.
A.get(0).method_of_C1(); // Does not work
A.get(1).method_of_C2(); // Does not work
我希望能够通过这个 ArrayList 调用 C1 和 C2 自己的方法。那可能吗?我通过手动投射尝试了一些调整,但没有成功。
【问题讨论】:
-
=> 看看“多态性”
-
难的是看,有没有通过Reflection的方法
标签: java generics arraylist casting