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

时间:2010-03-31 03:26:33

标签: java

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

e.g。

class class1{

  public static void main(String []args){

  }

}

class class2{

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

}

6 个答案:

答案 0 :(得分:35)

如果你想调用另一个类的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);
    }
  }

答案 1 :(得分:13)

如果我的问题正确无误......

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

public class ToBeCalledClass{

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

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

public class CallClass{

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

答案 2 :(得分:2)

是的,但只有当main被宣布为公开

答案 3 :(得分:1)

是的,只要它是公开的并且你传递了正确的args。 有关更多信息,请参阅此链接。 http://www.codestyle.org/java/faq-CommandLine.shtml#mainhost

答案 4 :(得分: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);
            }
        }

    }
}

答案 5 :(得分:0)

据我了解,问题不在于递归。我们可以轻松地在您的课程中调用另一个课程的main方法。以下示例说明了静态和按对象调用。请注意,static

中的单词Class2被遗漏了
class Class1{
    public static void main(String[] args) {
        System.out.println("this is class 1");
    }    
}

class Class2{
    public void main(String[] args) {
        System.out.println("this is class 2");
    }    
}

class MyInvokerClass{
    public static void main(String[] args) {

        System.out.println("this is MyInvokerClass");
        Class2 myClass2 = new Class2();
        Class1.main(args);
        myClass2.main(args);
    }    
}

输出应为:

这是包装器类

这是第1类

这是第二课