Во время кодирования у меня возникло интересное сомнение по поводу полиморфизма, и я не мог найти решения для этого.
public class Animal {
public void getLegs() {
SOP("4 legs");
}
}
public class Kangaroo extends Animal {
public void getLegs() {
SOP("2 legs");
}
public static void main(String[] args) {
Animal a = new Kangaroo(); // without changing this how can I get Animal getLegs
SOP(a.getLegs()); // Important Line
}
}
Теперь, если я хочу вызвать метод getLegs
для Animal
, как мне это сделать? Является ли это возможным? Это все еще полиморфизм?
super.getLegs()
, но неmain
. - person Amir Raminfar   schedule 19.06.2012getLegs
. Но не то, как это реализовано. Как этому следовало быть. Почему вы хотите сделать это в любом случае? - person Amir Raminfar   schedule 19.06.2012getLegs
, будет раскрыт во внешний мир. - person Sergey Kalinichenko   schedule 19.06.2012super.getLegs()
должен быть в подклассе, но только тогда, когда он изменяет значение суперкласса, как подкласс сиамских близнецов, возвращающийsuper.getLegs()*2
- person Edwin Buck   schedule 19.06.2012