Java main () Metode Dijelaskan

1. Ikhtisar

Setiap program membutuhkan tempat untuk memulai pelaksanaannya; berbicara tentang program Java, itulah metode utama . Kami sangat terbiasa menulis metode utama selama sesi kode kami, sehingga kami bahkan tidak memperhatikan detailnya. Dalam artikel singkat ini, kami akan menganalisis metode ini dan menunjukkan beberapa cara lain untuk menulisnya.

2. Tanda Tangan Umum

Template metode utama yang paling umum adalah:
public static void main(String[] args) { }

Begitulah cara kami mempelajarinya, begitulah cara IDE melengkapi kode secara otomatis untuk kami. Tapi itu bukan satu-satunya bentuk yang dapat diasumsikan metode ini, ada beberapa varian valid yang dapat kita gunakan dan tidak semua pengembang memperhatikan fakta ini.

Sebelum kita menyelami tanda tangan metode tersebut, mari kita tinjau arti dari setiap kata kunci dari tanda tangan umum:

  • publik - pengubah akses, yang berarti visibilitas global
  • statis - metode dapat diakses langsung dari kelas, kita tidak perlu membuat instance objek untuk memiliki referensi dan menggunakannya
  • void - berarti metode ini tidak mengembalikan nilai
  • main - nama metode, itulah pengenal yang dicari JVM saat menjalankan program Java

Sedangkan untuk parameter args , ini mewakili nilai yang diterima oleh metode tersebut. Ini adalah cara kami mengirimkan argumen ke program saat pertama kali kami memulainya.

Parameter args adalah array dari String s. Pada contoh berikut:

java CommonMainMethodSignature foo bar

kami menjalankan program Java yang disebut CommonMainMethodSignature dan meneruskan 2 argumen: foo dan bar . Nilai-nilai itu dapat diakses di dalam metode utama sebagai args [0] (memiliki foo sebagai nilai) dan args [1] (memiliki bar sebagai nilai).

Dalam contoh berikutnya, kami memeriksa args untuk memutuskan apakah akan memuat pengujian atau parameter produksi:

public static void main(String[] args) { if (args.length > 0) { if (args[0].equals("test")) { // load test parameters } else if (args[0].equals("production")) { // load production parameters } } }

Perlu diingat bahwa IDE juga dapat memberikan argumen ke program.

3. Cara Berbeda untuk Menulis Metode main ()

Mari kita periksa beberapa cara berbeda untuk menulis metode utama . Meskipun tidak umum, itu adalah tanda tangan yang valid.

Perhatikan bahwa tidak ada yang spesifik untuk metode utama , mereka dapat digunakan dengan metode Java apa pun tetapi mereka juga merupakan bagian yang valid dari metode utama .

Tanda kurung siku dapat ditempatkan di dekat String , seperti pada template umum, atau near args di kedua sisi:

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

Argumen dapat direpresentasikan sebagai vararg:

public static void main(String...args) { }

Kita bahkan bisa menambahkan strictfp untuk metode main () , yang digunakan untuk kompatibilitas antara prosesor saat bekerja dengan nilai floating point:

public strictfp static void main(String[] args) { }

tersinkronisasi dan final juga merupakan kata kunci yang valid untuk metode utama tetapi tidak akan berpengaruh di sini.

Di sisi lain, final bisa diterapkan pada args untuk mencegah array dimodifikasi:

public static void main(final String[] args) { }

Untuk mengakhiri contoh ini, kita juga dapat menulis metode utama dengan semua kata kunci di atas (yang, tentu saja, Anda mungkin tidak akan pernah menggunakannya dalam aplikasi praktis):

final static synchronized strictfp void main(final String[] args) { }

4. Memiliki Lebih dari Satu Metode utama ()

Kita juga bisa mendefinisikan lebih dari satu metode utama di dalam aplikasi kita.

Faktanya, beberapa orang menggunakannya sebagai teknik pengujian primitif untuk memvalidasi kelas individu (meskipun framework pengujian seperti JUnit lebih diindikasikan untuk aktivitas ini).

Untuk menentukan metode utama mana yang harus dijalankan JVM sebagai titik masuk aplikasi kita, kita menggunakan file MANIFEST.MF . Di dalam manifes, kita dapat menunjukkan kelas utama:

Main-Class: mypackage.ClassWithMainMethod

Ini sebagian besar digunakan saat membuat file .jar yang dapat dieksekusi . Kami menunjukkan kelas mana yang memiliki metode utama untuk memulai eksekusi, melalui file manifes yang terletak di META-INF / MANIFEST.MF (dikodekan dalam UTF-8).

5. Kesimpulan

Tutorial ini menjelaskan detail metode utama dan beberapa bentuk lain yang dapat diasumsikan, bahkan yang tidak umum bagi sebagian besar pengembang.

Ingatlah bahwa, meskipun semua contoh yang kami tunjukkan valid dalam hal sintaks, mereka hanya melayani tujuan pendidikan dan sebagian besar waktu kami akan tetap menggunakan tanda tangan umum untuk melakukan pekerjaan kami.