我只是想知道如何使用子类来实现超类的实现。例如。
class Animal {
void poo() {
System.out.println("general poo");
}
}
class Horse extends Animal{
void poo() {
System.out.println("horse poo");
}
}
Animal animal1 = new Horse();
// using this I get the implementation of the Horse class's methods
animal1.poo(); //should return horse poo
尝试将其升级以获得超类实现,但无济于事
((Animal)animal1).poo() // still returns the horse class's implementation of the method
如何使用animal1对象获取超类实现?
答案 0 :(得分:7)
在Java中,除非新方法旨在完全替代方法的所有外部调用,否则不应覆盖超类方法。
在sublcass实现中,您可以使用例如super.toString()引用直接超类方法。
答案 1 :(得分:1)
除了它是不可能的,它没有意义,尝试重新设计你的课程。