Ini adalah pertanyaan yang saya hadapi dalam wawancara saya.
Mengapa metode utama di Java disebut public static void main (String [] args)?
Menjawab:
1. main () harus dideklarasikan kepada publik karena dijalankan oleh JVM setiap kali eksekusi program dimulai. JVM bukan milik paket program kami.
Untuk mengakses utama di luar paket, kami harus mendeklarasikannya sebagai publik. Jika kami mendeklarasikannya sebagai sesuatu selain publik, ia menunjukkan Galat Runtime tetapi bukan galat waktu kompilasi
2. main () harus dinyatakan sebagai statis karena jika suatu metode dinyatakan sebagai statis maka kita dapat memanggil metode itu di luar kelas menggunakan ClassName.methodName ();
class Sample
{
static void fun()
{
System.out.println("Hello");
}
}
class Test
{
public static void main(String[] args)
{
Sample.fun();
}
}
JVM pertama-tama akan memuat kelas Test, dan akan memeriksa argumen Commandline dan memanggil metode utama sebagai Test.main ();
3. main () harus dinyatakan sebagai void main () karena JVM tidak mengharapkan nilai dari main (). Jadi, itu harus dinyatakan sebagai void.
Jika jenis pengembalian lain disediakan, itu adalah RunTimeError yaitu; NoSuchMethodFoundError.
4. main () harus memiliki argumen String sebagai array karena JVM memanggil metode utama dengan mengirimkan argumen baris perintah. Ketika mereka disimpan dalam objek string array itu dilewatkan sebagai argumen ke main ().