Pada materi sistem penamaan pada Java diberitahukan bahwa
"nama class dan nama file harus sama". Ketika aturan ini dilanggar maka pesan
error akan muncul seperti pada program seperti contoh berikut.
 |
Ilustrasi Mitos Class File Java
|
Contoh:
/***** File name: Trial.java ******/
public class Bons
{
public static void main(String[] args)
{System.out.println("Hello"
+" world");}
}
Output:
javac Trial.java
Trial.java:9: error: class Bams is public, should be declared in a file named Bams.java
public class Bams
^
1 error
Namun informasi tersebut ternyata tidak sepenuhnya benar (mitos), karena aturan tersebut bisa dilanggar seperti contoh program berikut ini.
Contoh:
/***** File name: Trial.java ******/
class Bams
{
public static void main(String[] args)
{System.out.println("Hello"
+" world");}
}
Step 1
javac Trial.java
Step 1 akan menciptakan Bams.class tanpa pesan error karena class sudah dibuat dalam bentuk public.
Step 2
java Bams
Mitos, nama class dan nama file harus ditulis sama pada bahasa pemrograman Java hanya jika class tersebut dideklarasikan dengan tipe public.
Dengan beberapa fitur ajaib, sekarang
file .class dapat dieksekusi seperti program berikut. Sangat mungkin untuk memiliki beberapa
main class dalam satu
file Java, guna untuk kepentingan
debug, pendekatan seperti ini bisa digunakan pada bahasa Java. Dimana setiap
class dapat dieksekusi secara terpisah untuk menguji fungsi
class masing-masing dengan persyaratan bahwa konsep
inheritence tidak dipergunakan pada program ini. Namun secara umum akan lebih aman jika mengikuti mitos yang sudah ada.
Contoh:/*** File name: Trial.java ***/
/* main method 1 */
class UntukBams
{
public static void main(String[] args)
{System.out.println("Makan nasi padang");}
}
/* main method 2 */
class BamsTest
{
public static void main(String[] args)
{System.out.println("Makan nasi soto");}
}
Ketika kode program tersebut akan dikompilasi, maka akan dihasilkan dua .class file UntukBams.class dan Bonstest.class, dan karena kedua class tersebut memiliki main() method yang berbeda, maka kedua class tersebut bisa dijalankan secara terpisah.
Ketika java UntukBams dieksekusi, maka output yang dihasilkan adalah Makan nasi padang.
ketika java BamsTest dieksekusi, maka output yang dihasilkan adalah Makan nasi soto.
Contoh:
// Progam Java untuk
// menemukan luas area pada
// segitiga
class Triangle {
int x, y;
void printArea(){
System.out.println("Luas are"
+"a segitiga adalah: "
+ x * y / 2);
}
}
class Demo {
public static void main(String args[]){
// Menciptakan object
Triangle t = new Triangle();
t.x = 10;
t.y = 13;
t.printArea();
}
}
Catatan: Disini terdapat dua buah class, Triangle dan Demo. Lantas, class mana yang namanya digunakan sebagai nama file?
Jawabannya adalah class dengan nama Demo harus digunakan sebagai mana file. Alasannya adalah karena class Demo memiliki main method dan pada bahasa pemrograman Java, eksekusi program dimulai pertama kali dari method main.
Filename: Demo.java
Compilation: javac Demo.java
Run: java Demo
Output: Luas area segitiga adalah:65
Artikel ini didedikasikan kepada: Dina Putri Septiana, Dwi Aulia Jannah, Dyan Nugraha Putra, Erika Febriana, dan Faizzah Hikmawati.
Kenapa method main sangat penting pada bahasa pemrograman Java?
BalasHapusMain Method sangat penting digunakan untuk memulai eksekusi program. Ketika mulai menulis kode program maka programmer artinya telah menulis baris pertama dari program yaitu "public static void main(String Args[])", hal ini dikarenakan kompilator Java tidak dapat memahami apapun kecuali main method dan segera setelah kompilator mendapatkan baris kode program tersebut, maka akan mulai dilakukan eksekusi program dari aliran normal.
HapusMain method digunakan kompilator sebagai titik awal untuk mulai membaca program.
HapusKenapa eksekusi program oleh kompilator Java harus dimulai dari main method tidak dari method lain?
BalasHapusKarena Java adalah bahasa program berbasis JVM atau mesin virtual. Dimana setiap kali program Java dikirimkan ke JVM, maka program tersebut akan mencari method main atau method utama dan akan memanggilnya, satu-satunya hal yang JVM ketahui tentang program yang dikirim adalah bagaimana cara memanggil main method dari program yang dikirim tersebut. Program Java yang tidak mengandung main method, maka JVM tidak akan pernah menemukan program yang dikirim tersebut dan kode program yang terdapat pada program yang dikirimkan tersebutpun juga tidak akan pernah dieksekusi oleh JVM.
Hapus