main()方法可以指定为private还是protected?

main()方法可以指定为private还是protected?

它会编译吗?

它会运行吗?

它将编译,它不会运行(使用Eclipse测试)。

方法main()可以指定为private还是protected?

会编译吗?

它会运行吗?

是的,但它不能作为您的申请的入口点。 如果从其他地方调用它,它将运行。

试试看:

 $cat PrivateMain.java package test; public class PrivateMain { protected static void main( String [] args ) { System.out.println( "Hello, I'm proctected and I'm running"); } } class PublicMain { public static void main( String [] args ) { PrivateMain.main( args ); } } $javac -d . PrivateMain.java $java test.PrivateMain Main method not public. $java test.PublicMain Hello, I'm proctected and I'm running 

在此代码中,受保护的方法不能用作应用程序的入口点,但是,它可以从类PublicMain调用

不能调用私有方法,而是从类本身调用。 所以你需要这样的东西:

  public static void callMain() { main( new String[]{} ); } 

如果它是私人的,请致电main

是的,它会编译。 但它不会成为该计划的切入点。

Java查找公共主方法签名。 如果任何修饰符不同,那么它会将其视为其他方法。

自己跑步和测试4。 🙂

您可以根据需要使用任何主要方法获得尽可能多的类。 除非符合签名,否则它们不能成为切入点。