Pertanyaan Bisakah metode utama () kelas dipanggil dari kelas lain di java


Bisakah a main() metode kelas dipanggil di kelas lain di java?

misalnya

class class1{

  public static void main(String []args){

  }

}

class class2{

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

}

32
2018-03-31 03:26


asal


Jawaban:


Jika Anda ingin memanggil metode utama kelas lain, Anda dapat melakukannya dengan cara ini dengan asumsi saya memahami pertanyaannya.

  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



jika saya mendapat pertanyaan Anda benar ...

metode utama () didefinisikan di kelas di bawah ini ...

public class ToBeCalledClass{

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

Anda ingin memanggil metode utama ini di kelas lain.

public class CallClass{

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

8
2017-07-06 06:05



ya, tetapi hanya jika utama dinyatakan publik


2
2018-03-31 03:28



Ya selama itu publik dan Anda melewati argumen yang benar. Lihat tautan ini untuk informasi lebih lanjut. http://www.codestyle.org/java/faq-CommandLine.shtml#mainhost


1
2018-03-31 03:45



Yakin. Ini adalah program yang benar-benar konyol yang menunjukkan panggilan main secara rekursif.

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