首页 > 应用开发 > > Java教程分享Javamain常见面试问题
Java 教程分享 Javamain 常见 面试问题 , Java 程序员在 参加 面试的时候,在Javamain 方面都会被问到哪些问题呢?为大家准备一些常见的 Javamain 的基础知识问题,帮助大家在面试前做好准备:
1 、不用 main 方法如何定义一个类?
不行,没有main 方法我们不能运行 Java 类。
在Java7 之前,你可以通过使用静态初始化运行 Java 类。但是,从 Java7 开始就行不通了。
2 、 main() 方法需要的参数不是字符串数组?
不是的,main() 方法的参数必须是字符串数组。
但是,在引进变参时,你可以将字符串类型的变参作为参数传递给main() 方法。变参一定得是数组。
packagecom.instanceofjava;
publicclassMainMethod
{
publicstaticvoidmain(Stringargs[])
{
}
}
3 、我们能不能改变 main() 方法的返回类型?
不能,main() 方法的返回类型只能是空。任何其它类型都是不能接受的。
packagecom.instanceofjava;
publicclassA
{
publicstaticintmain(String[]args)
{
return1;//runtimeerror:Nomainmethodfound
}
}
4 、 main() 方法为什么必须是静态的?
main() 方法一定是静态的。
如果main() 允许是非静态的,那么在调用 main 方法时, JVM 就得实例化它的类。
在实例化时,还得调用类的构造函数。如果这个类的构造函数有参数,那么届时就会出现歧义。
例如,在下面的程序中,在实例化类“ A ”的时候, JVM 传递什么参数?
packagecom.instanceofjava;
publicclassA
{
publicMainMethod(inti)
{
//Constructortakingoneargument
}
publicvoidmain(String[]args)
{
//mainmethodasnon-static
}
5 、我们能不能声明 main() 方法为非静态?
不能,main() 方法必须声明为静态的,这样 JVM 才可以调用 main() 方法而无需实例化它的类。
如果从main() 方法去掉“ static ”这个声明,虽然编译依然可以成功,但在运行时会导致程序失败。
packagecom.instanceofjava;
publicclassA
{
publicvoidmain(String[]args)
{
System.out.println("indhu");//Runtimeerror
}
}
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2310/viewspace-3123288/ ,如需转载,请注明出处,否则将追究法律责任。