答 1:
static 静态的,也就是程序运行时就要没加载的,main 是一个程序的入口,所以要提前加载好,要不谁来调用它啊?程序就没法运行了。
答 2:
用 static 修饰的方法,无须产生类的实例对象就可以调用该方法。
没有 static 修饰的方法,需要产生一个类的实例对象才可以调用该方法。
main 方法必须要 static 来修饰,是因为 main 方法是Java解释器调用的,那时候还没有任何对象产生。
答 3:
mainID = (*env)->GetStaticMethodID(env, mainClass, “main”,”([Ljava/lang/String;)V”);
这是 jvm 启动时的代码,直接去找 static 的,参数为 String 数组的 main 方法。
答 4:
static 修饰的方法,类等,都是在程序启动时就加载的,而且方法无需类的实例就可以直接调用,main 方法是程序的入口,所以是必须提前加载好的,然后才能是接下来的程序正常运行,此外,static 有这个特点,也就是说,可以没有 main 方法而执行某些代码。不信,你可以试试