我有三个班级A,B,C。
A类有一个返回B类列表的方法。
例如,
A a = new A();
List<B> b = a.getListofA();
B类中还有另一种方法doSomeinB()
。
我从B类扩展了C类并在C中添加了一个新方法,doSomeinC()
,现在我调用了a.getListofA()
,它返回了B的列表,我如何使用doSomeinC()
。
答案 0 :(得分:0)
根据你的描述,我已经明白了:
A
是B
的子类
C
是B
的子类。
从您的问题来看,似乎您希望在C
类型的对象上使用类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