0

我有三个班级 A , B , C 。

A 类有一个返回 B 类列表的方法。

例如,

A a = new A();

List<B> b = a.getListofA();

B 类中还有另一种方法doSomeinB()。我从 B 类扩展了 C 类,并在 C 中添加了一个新方法doSomeinC(),现在我调用a.getListofA()它返回 B 的列表,我该如何使用doSomeinC()

4

1 回答 1

0

根据你的描述,我知道:

A是 的子类B
C是 的子类B

从您的问题来看,您似乎想在 classC类型的对象上使用方法B。这行不通,因为B不知道C;中的方法 B是父类。C什么都知道B,但反之则不然。要使用 中的方法C,您可以说:

List<C> c = c.getListOfC();
// That's right. You'll need to make this method.
c.doSomeInC();

或者您可以将其称为它的父级实例:

List<B> b = c.getListOfC();


旁注,看看Java Naming Conventions。您的某些方法名称不符合规范,例如:

getListofC --> getListOfC
于 2013-08-02T11:30:06.813 回答