小菜:关于main方法的面试题

转载自  小菜:关于main方法的面试题

问题:如果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是指命令行传进的字符串数组。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值