问题:如果main方法被声明为private会怎样?

答案:能正常编译,但运行的时候会提示“main方法不是public的”。

 

问题:如果去掉了main方法的static修饰符会怎样?

答案:程序能正常编译。运行时会抛NoSuchMethodError异常。

 

问题:public static void写成static public void会怎样?

答案:程序正常编译及运行。

 

问题:main方法的参数里面,字符串数组的第一个参数是什么?

答案:数组是空的,没有任何元素。不像C或者C++,第一个元素默认是程序名。如果命令行没有提供任何参数的话,main方法中的String数组为空,但不是null。

 

问题:一个类能拥有多个main方法吗?

答案:可以,但只能有一个main方法拥有以下签名:public static voidmain(String[] args) ;否则程序将无法通过编译。编译器会警告你main方法已经存在。

 

问题:程序中可以允许多个类同时拥有都有main方法吗?

答案:可以。当程序运行的时候,我们会指定运行的类名。JVM只会在你指定的类中查找main方法。因此多个类拥有main方法并不存在命名冲突的问题。

 

问题:说明一下public static void main(String args[])这段声明里每个关键字的作用。

答案:public: main方法是Java程序运行时调用的第一个方法,因此它必须对Java环境可见,所以可见性设置为public。

static: Java平台调用这个方法时不会创建这个类的一个实例,因此这个方法必须声明为static。

void: main方法没有返回值。

String是命令行传进参数的类型,args是指命令行传进的字符串数组。