2010-03-31 58 views

回答

2

是的,但只有當宣佈主要是

+5

......或受保護的,或包私人的,或者你用反射做一些棘手的事情,儘管它是私人的,但它可以被調用。 – 2010-03-31 04:13:35

0

當然。這是一個完全愚蠢的程序,演示遞歸調用main

public class main 
{ 
    public static void main(String[] args) 
    { 
     for (int i = 0; i < args.length; ++i) 
     { 
      if (args[i] != "") 
      { 
       args[i] = ""; 
       System.out.println((args.length - i) + " left"); 
       main(args); 
      } 
     } 

    } 
} 
31

如果你想調用另一個類的主要方法,你可以這樣做,假設我理解了這個問題。

public class MyClass { 

    public static void main(String[] args) { 

     System.out.println("main() method of MyClass"); 
     OtherClass obj=new OtherClass(); 
    } 
    } 

    class OtherClass { 

    public OtherClass() { 

     // Call the main() method of MyClass 
     String[] arguments = new String[] {"123"}; 
     MyClass.main(arguments); 
    } 
    } 
+10

對於那些可能注意或不注意的人...這會創建一個無限循環 – mmcrae 2014-11-20 16:28:11

+2

@mmcrae這是遞歸,而不是循環。遞歸永遠不會無限。 – Saraph 2014-12-31 02:04:45

+9

等待什麼...爲什麼遞歸不是無限的?你可能會打擊你的堆棧,但這只是一個實際的限制,如果你從不向基本案例進展(或者不存在基本案例),數學遞歸當然可以是無限的。 – JPC 2016-02-08 18:55:44

7

,如果我得到你的問題正確...

main()方法在下面的類中定義...

public class ToBeCalledClass{ 

    public static void main (String args[ ]) { 
     System.out.println("I am being called"); 
    } 
} 

要調用此方法主要另一類。

public class CallClass{ 

    public void call(){ 
     ToBeCalledClass.main(null); 
    } 
} 
+1

great.i想知道作爲'主要'論點應該怎麼說!只是它是'空' – alex 2016-08-17 14:03:09

相關問題