可以从java中的另一个类调用类的main()方法

sa.*_*sa. 39 java

可以main()在java中的另一个类中调用类的方法吗?

例如

class class1{

  public static void main(String []args){

  }

}

class class2{

  public static void main(String []args){
      class1.main();
  }

}
Run Code Online (Sandbox Code Playgroud)

Bin*_*erd 37

如果你想调用另一个类的main方法,你可以这样做,假设我理解了这个问题.

  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);
    }
  }
Run Code Online (Sandbox Code Playgroud)

  • 对于那些可能会或可能不会注意到的人......这将创造一个无限循环 (16认同)
  • 等什么......为什么递归不是无限的?你可能会破坏你的筹码,但这只是一个实际的限制,如果你从未在基础情况下取得进展(或者没有基本情况),数学递归当然可以是无限的. (16认同)
  • @mmcrae这是递归,而不是循环.递归永远不会是无限的. (3认同)

小智 16

如果我的问题是正确的......

main()方法在下面的类中定义...

public class ToBeCalledClass{

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

你想在另一个类中调用这个main方法.

public class CallClass{

    public void call(){
       ToBeCalledClass.main(null);
    }
}
Run Code Online (Sandbox Code Playgroud)

  • great.i想知道把什么作为'主要'的论点!只是它是'null` (2认同)

Gar*_*ary 2

是的,但前提是 main 被声明为 public

  • ...或者受保护,或者包私有,或者你用反射做一些棘手的事情,以允许它被调用,尽管它是私有的。 (7认同)