背景:
之前编程的时候,忘了在main前面敲static,结果不能运行。以为哪里出问题了,看了好久才发现漏了个static。。。之前也没有注意过main前面static的作用,所以上网查阅了一下。
解释:
用static修饰的方法,无须产生类的实例对象就可以调用该方法。
没有static修饰的方法,需要产生一个类的实例对象才可以调用该方法。
main方法必须要static来修饰,是因为main方法是Java解释器调用的,那时候还没有任何对象产生。
“不加的话 你怎么运行程序 好比连门都没你怎么进房子”,so,static就相当于给你的主程序按个门方便进入喽
mainID = (*env)->GetStaticMethodID(env, mainClass, "main",
"([Ljava/lang/String;)V");
这是jvm启动时的代码,直接去找static的,参数为String数组的main方法。