在java中调用main中的main方法

Posted

技术标签:

【中文标题】在java中调用main中的main方法【英文标题】:calling main method inside main in java 【发布时间】:2014-03-26 09:42:49 【问题描述】:

我们可以在main里面调用main方法吗?

public static void main(String[] args) 
    main("a","b","c");

尝试谷歌。找不到链接。 对不起,如果问题是微不足道的

【问题讨论】:

不要用谷歌搜索,试试看会发生什么。你认为会发生什么? 导致编译错误 你应该查找数组初始化表达式。 这个问题为什么是-3,有道理 @Coffee:可能是因为投入了零努力。修复语法并执行它会更快地回答它。 【参考方案1】:

您将收到***Error。如果你调用无休止的递归调用/深度函数递归。

由于应用程序递归而发生堆栈溢出时引发 太深了。

你需要像这样传递字符串数组

main(new String[] "a","b","c");

【讨论】:

【参考方案2】:

你可以使用正确的格式

main(new String[] "a","b","c");

应该给出 ***Error(未测试)

【讨论】:

这是 ***Error【参考方案3】:

Kugathasan 是对的。

是的,它确实给出了 *** 异常。我现在在 Eclipse 中对其进行了测试。

class CallingMain

    public static void main(String[] args)
    
         main(new String[] "a","b","c");
    

我有一个建议,我认为消除混淆的最佳方法是尝试编码并运行它。有助于解决很多疑问。

【讨论】:

【参考方案4】:

你可以。这是非常合法的。 此外,它不一定会给出 ***Error:

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");


只是说。

【讨论】:

【参考方案5】:

您可以简单地传递 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

输出:- 嵌套类的main方法内部

世界你好!

【讨论】:

不,你不能!虽然编译器不会抱怨,但您创建的递归会很快耗尽堆栈。 这段代码不是递归的,这是调用Main方法的简单代码 从main调用main是什么?

以上是关于在java中调用main中的main方法的主要内容,如果未能解决你的问题,请参考以下文章

在C#中,main方法的作用是啥,缺少main会有啥样的结果?

Java 中的main方法

回顾基础,Java如何在main方法中调用自身的main方法

JAVA方法

一个java文件中可包含多个main方法

java如何调用另个程序的main函数