我预计以下代码会有编译器问题,但令人惊讶的是它没有。
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);
}
}
谁能告诉我:
a) 为什么编译器不抱怨多种main()
方法?
b) 当我从命令行执行上述程序时,我可以看到只有类 p 的main()
方法正在执行?这背后的理由是什么?