Menjalankan Program Java Tanpa Main Method

Saat membuat program java, kita pasti akan membuat suatu method main supaya program tersebut bisa dijalankan/di-run. Sebelumnya saya kira hal tersebut bersifat mutlak, jadi kalau tidak ada method main maka program tidak bisa di-run. Seperti pada posting sebelumnya yaitu Implementasi Hello World, Penggunaan System.out,println, dan Deklarasi Variabel, jika method main dihilangkan maka program tersebut akan error saat di-run. Ternyata hal tersebut tidak mutlak, saya menemukan cara supaya kita bisa menjalankan program java tanpa ada method main.



Hal ini bisa kita lakukan dengan menggunakan blog static dalam kelas. Alasan mengapa program bisa jalan tanpa method main adalah karena blok static akan langsung dieksekusi saat kelas di-load. Saat proses running, JVM(Java Virtual Machine) akan mencari method main setelah keluar dari blok static. Jika method main tidak ketemu, maka akan dilempar/di-throw sebuah exception. Nah untuk menghindari hal ini maka kita gunakan statement System.exit(0); Supaya nanti setelah keluar dari blok static program akan langsung diterminasi.

Contoh implementasinya adalah sebagai berikut :
class GakPakeMain
{
    static
    {
        System.out.println("Hello World!!");
        System.exit(0);
    }
}
Selamat mencoba, dan semoga bermanfaat...

1 comments - Add Yours

Anonim mengatakan...

salam bang, klo program dapat di compile tp trz'a gbs dirun kira2 knp tuh penyebab'a saya pake notepad++ dan java update 23

programnya cuma say hello aj :
class tes {
public static void main(String args[]){
System.out.println("\nprint \n");
}
}

pas di run muncul seperti ini
C:\Documents and Settings\Admin\Desktop>javac tes.java

C:\Documents and Settings\Admin\Desktop>java tes
Exception in thread "main" java.lang.NoClassDefFoundError: tes
Caused by: java.lang.ClassNotFoundException: tes
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: tes. Program will exit.

mohon bantuannya..
jika g keberatan tlg di email jawabannya ke ridwan1811@gmail.com
cz saya dpt blog abang aja dari googling..jadi tkt lupa nama blognya. thx sebelumnya

Posting Komentar