Pregunta ¿Se puede invocar un método de clase main () desde otra clase en Java?


Puede main() El método de clase se invoca en otra clase en Java?

p.ej.

class class1{

  public static void main(String []args){

  }

}

class class2{

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

}

32
2018-03-31 03:26


origen


Respuestas:


Si desea llamar al método principal de otra clase, puede hacerlo de esta manera, suponiendo que entiendo la pregunta.

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

31
2018-03-31 03:45



si recibí tu pregunta correcta ...

El método main () se define en la clase siguiente ...

public class ToBeCalledClass{

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

quieres llamar a este método principal en otra clase.

public class CallClass{

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

8
2017-07-06 06:05



sí, pero solo si main se declara pública


2
2018-03-31 03:28



Sí, siempre que sea público y pase los argumentos correctos. Mira este link para más información. http://www.codestyle.org/java/faq-CommandLine.shtml#mainhost


1
2018-03-31 03:45



Por supuesto. Aquí hay un programa completamente tonto que demuestra llamadas main recursivamente.

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

    }
}

0
2018-03-31 03:38