Java 为什么超类中的主要方法由JVM执行?
当我执行:Java 为什么超类中的主要方法由JVM执行?,java,Java,当我执行: java B 对于下面的程序,为什么调用超类A的main?据我所知,静态方法属于类级别 class A { public static void main(String[] args) { System.out.println("A.main"); } } class B extends A{ } 静态方法由子类继承 剧透:是的,他们are@Aaron我不认为这是重复的,它还必须与JVM一起启动。@Tony你是对的,还有一点,但可以很容
java B
对于下面的程序,为什么调用超类A的main?据我所知,静态方法属于类级别
class A
{
public static void main(String[] args)
{
System.out.println("A.main");
}
}
class B extends A{ }
静态方法由子类继承 剧透:是的,他们are@Aaron我不认为这是重复的,它还必须与JVM一起启动。@Tony你是对的,还有一点,但可以很容易地在一条评论中说清楚:
JavaB
将调用B.main(String[]args)
,这是静态的main(String[]args)
继承自A
@Tony当然,如果你认为还有更多,可以投票重新讨论这个问题,但我真的认为OP误解的根源是错误地认为静态方法不是继承的。@Aaron但它与callB.main
不同。JVM使用更复杂的方式调用它,OP如何确保它们具有相同的效果?