如果方法调用是动态绑定的,那么编译器为什么会抱怨
类型 B 的方法 run() 未定义
为什么编译器检查是否存在在类 b 中运行的方法
这是代码
import java.lang.*;
public class Program
{
public static void main(String [] args)
{
B a = new A();
a.run();//compiler complains at this line.
a.p(10);
a.p(10.0);
}
}
class B {
public void p(int i)
{
System.out.println(i*2);
}
}
class A extends B{
public void p(int i)
{
System.out.println(i);
}
public void run(){
}
}