我们可以在main中调用main方法吗?
public static void main(String[] args) {
main({"a","b","c"});
}
试图google.Can't找不到链接。 对不起,如果问题很简单
答案 0 :(得分:15)
您可以使用正确的格式
main(new String[] {"a","b","c"});
应该给StackOverFlowError(未测试)
答案 1 :(得分:4)
您将获得StackOverFlowError
。如果你调用无限递归调用/深度函数递归。
因应用程序递归而发生堆栈溢出时抛出 太深了。
您需要传递像
这样的String数组main(new String[] {"a","b","c"});
答案 2 :(得分:3)
你可以。这非常合法 此外,它不一定会给出StackOverFlowError:
public static void main(String args[]){
int randomNum = (int)(Math.random()*10);
if(randomNum >= 8)
System.exit(0);
System.out.print("Heyhey!");
main(new String[]{"Anakin", "Ahsoka", "Obi-Wan"});
}
只是说。
答案 3 :(得分:1)
Kugathasan是对的。
是的,它确实给出了StackOverflow Exception。我现在在Eclipse中测试它。
class CallingMain
{
public static void main(String[] args)
{
main(new String[] {"a","b","c"});
}
}
我有一个建议,我认为消除混淆的最好方法是尝试编码并运行它。有很多疑惑。
答案 4 :(得分:0)
你可以简单地传递像main(new String[1])
这样的参数 - 这一行将调用你程序的main方法。但如果你通过" new String[-1]
"这将给出NegativeArraySizeException。这里我给出了一个嵌套内部类的例子,我在这里调用Main方法:
class Outer
{
static class NestedInner
{
public static void main(String[] args)
{
System.out.println("inside main method of Nested class");
}//inner main
}//NestedInner
public static void main(String[] args)
{
NestedInner.main(new String[1] );//**calling of Main method**
System.out.println("Hello World!");
}//outer main
}//Outer
输出: - 在嵌套类的主要方法
中Hello World!