一个继承的问题
Class F {
Void innerDo() {
Println(“F do”);
}
}
Class C1 extends F {
Void innerDo() {
Println(“C1 do”);
}
}
Class C2 extends F {
Void innerDo() {
Println(“C2 do”);
}
}
Class Do {
Void do(F f){
Println(“do F”);
}
Void do(C1 c1){
Println(“do C1”);
}
Void do(C2 c2){
Println(“do C2”);
}
}
F c1 = new C1();
F c2 = new C2();
Do do = new Do();
Do.do(c1);
Do.do(c2); //为啥输出的是do F
c1.innerDo();
c2.innerDo();