メソッド呼び出しが動的にバインドされている場合、コンパイラが不平を言う理由
メソッド run() はタイプ B に対して未定義です
コンパイラがクラス 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(){
}
}