package polymordemo1;
class animal{
public void getanimal(animal anim) {
anim.ganim();
}
private void ganim() {
System.out.println("this is the animal");
}
}
class cat extends animal{
public void ganim() {
System.out.println("I am cat");
}
}
class bat extends animal{
public void ganim() {
System.out.println("I am bat");
}
}
public class PolymorDemo1 {
public static void main(String[] args) {
animal a=new animal();
cat c=new cat();
bat b=new bat();
a.getanimal(c);
a.getanimal(b);
}
}
我是 Java 的新手,我正在研究多态性。
这段代码的输出结果是:
这是动物
这是动物。
事实上我期待这个输出:
这是猫
这是蝙蝠
代码中的错误似乎是什么。