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