Java的main方法 为什么是public的?

Java 中的所有方法和构造函数都有一些访问修饰符。
main()方法也需要设置。 为了让launcher访问主程序,作为入口的main肯定要是public的。

如果我们不设置 main()方法为 public,则不会出现编译错误。

例如:

public class Main 
{
    void static main(String[] args) 
    {
        System.out.println("Hello World !!");
    }
}

程序输出:

Error: Main method not found in class Main, please define the main method as:
   public static void main(String[] args)

因为在底层代码中,首先检查main方法是否为public:

{/* Make sure the main method is public */
jint mods;
jmethodID mid;
jobject obj = (*env)->ToReflectedMethod(env, mainClass, mainID, JNI_TRUE);
日期:2020-09-17 00:09:46 来源:oir作者:oir