几个 Java main方法面试题
全局声明:欢迎交流订正,娱乐中学习。
局部声明:本文只为切合合我这样穿牛角尖矫情的面试者。
1.可我们定义一个类没有main方法?
不能没有main方法运行Java类。
在Java 7中,可以通过使用静态初始化运行Java类。但是,从Java 7以后是不可能的。
2.可main()方法需要一个参数不是字符串数组等?
main()方法参数必须是字符串数组。 但引进变参,可以传递字符串类型的变参作为参数传递给main()方法。同样,变参都不过是数组。
3.我们改变的main()方法返回类型?
main()方法的返回类型只能是void。任何其它类型的是不能接受的。
4.为什么main()方法必须是静态的?
main()方法必须是静态的。
如果main()函数允许是非静态的,那么在调用的主要方法JVM有实例化它的类。
在实例它必须调用类的构造函数。届时将有歧义,如果这个类的构造函数的参数。
如果删除“静态”从main()方法的签名,编译会成功,但在运行时程序失败。
5.可我们重载main()方法?
可以重载main()方法。一个Java类可以有任意数量的main()的方法。但运行java类,类应该有主()
方法签名为“公共静态无效的主要(字串[] args)”。如果你做任何修改此签名,编译一定会成功。
但是,你不能运行Java程序。因为没有找到主要的方法,你会得到运行时错误。
6.可我们声明main()方法为私有或保护,或没有访问修饰符?
不,main()方法必须是public。您不能定义main()方法为私有或保护,或没有访问修饰符。
这是因为使main()方法访问JVM。如果定义main()方法比其他公,编译会成功,但你会得到运行时错误是没有发现的主要方法。
英文出处:http://www.instanceofjava.com/2015/08/java-interview-questions-on-main-method.html