所以我有3节课。
公共类A {}
公共类B扩展了A {}
公共类C扩展B {}
我已将A对象实例化为新的C对象。我试图从C调用一个方法,它不起作用。我已经考虑过将A类抽象化,但是B类和C类有不同的方法,所以如果我这样做,我会在B和C中使用空方法。即使我把它抽象化,这些方法也必须用B来代替因为我认为这是抽象的作用。
所以我的问题是如果我将它实例化为A对象,如何从C调用方法?
答案 0 :(得分:1)
您可以查看您的A对象是否为C:
A myobject = // get it ...
if (myobject instanceof C)
然后演员:
C really_C= (C) myobject;
并使用C方法