簡體   English   中英

在java中調用main里面的main方法

[英]calling main method inside main in java

我們可以在main中調用main方法嗎?

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

試圖google.Can't找不到鏈接。 對不起,如果這個問題很簡單

您可以使用正確的格式

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

應該給StackOverFlowError(未測試)

您將獲得StackOverFlowError 如果你調用無限遞歸調用/深度函數遞歸。

在發生堆棧溢出時拋出,因為應用程序過於嚴重。

你需要傳遞String數組

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

您可以。 這非常合法。
此外,它不一定給出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"});

}

只是說。

Kugathasan是對的。

是的,它確實給出了StackOverflow Exception。 我現在在Eclipse中測試它。

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

我有一個建議,我認為消除混淆的最好方法是嘗試編碼並運行它。 有很多疑惑。

你可以簡單地傳遞像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

輸出: - 嵌套類的主要方法

你好,世界!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM