次のコードにはコンパイラの問題があると予想していましたが、驚くべきことにそうではありませんでした。
class p {
static int a = 10;
public static void main(String...args) {
System.out.println(a);
}
}
class child extends p {
public static void main(String[] args) {
System.out.println(p.a+10);
}
}
誰でも教えてもらえますか:
main()
a) コンパイラが複数のメソッドについて文句を言わないのはなぜですか?
main()
b) コマンド ラインから上記のプログラムを実行すると、クラス p のメソッドだけが実行されていることがわかりますか? その背後にある理論的根拠は何ですか?