因为JVM,也就是虚拟机需要找到一个程序的入口去执行你的程序。
举个最简单的例子
如果你是JVM,让你在
public class A
{
public static void main( String... args )
{
System.out.println( "hello" );
}
}
public class Test
{
public static void main( String... args )
{
//在这里不通过实例化去运行一个类,你会怎么做?
A.main( args ); //这是你唯一能做的
}
}
JVM的处境和你在Test的处境是一样的,要求不能通过实例化任何类去运行整个应用程序,只能调用大家都约定好的
public static void main( String... ); 方法
所以明白为什么必须是 public、static了么?