java中的main方法定义为公共方法,此方法在默认类中定义。让我们说
class test{
public static void main(String args[]){
System.out.println("Hi");
}
}
是否可以解释JVM如何能够访问此main方法,因为该类是默认类,只能在包中访问它。
答案 0 :(得分:4)
您认为JVM是其他一些软件包中的一堆Java代码,因此无法访问隐藏在您的类中的main
方法,并且具有默认的可访问性。但事实并非如此。 JVM是运行 Java代码的虚拟机;它决定了其他Java代码的内容和不可访问的内容。特别是,它可以运行它喜欢的任何方法,无论它们的可访问性如何。