Kaedah utama Java () Dijelaskan

1. Gambaran keseluruhan

Setiap program memerlukan tempat untuk memulakan pelaksanaannya; bercakap mengenai program Java, itulah kaedah utama . Kami terbiasa menulis kaedah utama semasa sesi kod kami, sehingga kami bahkan tidak memperhatikan perinciannya. Dalam artikel ringkas ini, kami akan menganalisis kaedah ini dan menunjukkan beberapa cara lain untuk menulisnya.

2. Tandatangan Biasa

Templat kaedah utama yang paling biasa adalah:
public static void main(String[] args) { }

Itulah cara kami mempelajarinya, itulah cara IDE melengkapkan kod secara automatik untuk kami. Tetapi bukan itu satu-satunya bentuk yang boleh diandaikan oleh kaedah ini, ada beberapa varian yang sah yang dapat kita gunakan dan tidak setiap pembangun memperhatikan kenyataan ini.

Sebelum kita menyelidiki tandatangan kaedah tersebut, mari kita tinjau makna setiap kata kunci tandatangan umum:

  • pengubah suai awam - bermaksud penglihatan global
  • statik - kaedahnya dapat diakses langsung dari kelas, kita tidak perlu membuat objek untuk memiliki rujukan dan menggunakannya
  • tidak sah - bermaksud kaedah ini tidak mengembalikan nilai
  • main - nama kaedahnya, itulah pengecam yang dicari oleh JVM ketika menjalankan program Java

Adapun parameter args , ia mewakili nilai-nilai yang diterima oleh kaedah tersebut. Ini adalah bagaimana kami menyampaikan argumen ke program semasa kami memulakannya.

Parameter args adalah susunan String s. Dalam contoh berikut:

java CommonMainMethodSignature foo bar

kami menjalankan program Java yang disebut CommonMainMethodSignature dan melewati 2 argumen: foo dan bar . Nilai-nilai tersebut dapat diakses di dalam kaedah utama seperti args [0] (memiliki nilai sebagai foo ) dan args [1] (mempunyai nilai sebagai bar ).

Dalam contoh seterusnya, kami memeriksa argumen untuk memutuskan sama ada memuat parameter ujian atau pengeluaran:

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 } } }

Selalu baik untuk diingat bahawa IDE juga dapat menyampaikan argumen ke program ini.

3. Kaedah yang berbeza untuk menulis kaedah utama ()

Mari kita periksa beberapa cara yang berbeza untuk menulis kaedah utama . Walaupun tidak begitu biasa, tandatangannya sah.

Perhatikan bahawa tidak ada yang khusus untuk kaedah utama , mereka dapat digunakan dengan metode Java apa pun tetapi mereka juga merupakan bahagian yang sah dari kaedah utama .

Kurungan persegi boleh diletakkan di dekat String , seperti pada templat biasa, atau argumen dekat di kedua sisi:

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

Hujah boleh dinyatakan sebagai varargs:

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

Kita bahkan boleh menambahkan ketatfp untuk kaedah utama () , yang digunakan untuk keserasian antara pemproses ketika bekerja dengan nilai titik terapung:

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

disegerakkan dan akhir juga kata kunci yang sah untuk kaedah utama tetapi mereka tidak akan memberi kesan di sini.

Sebaliknya, final boleh digunakan pada args untuk mengelakkan array diubah:

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

Untuk mengakhiri contoh-contoh ini, kami juga dapat menulis kaedah utama dengan semua kata kunci di atas (yang tentunya mungkin tidak akan anda gunakan dalam aplikasi praktikal):

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

4. Mempunyai Lebih Dari Satu Kaedah () Utama

Kami juga dapat menentukan lebih daripada satu kaedah utama dalam aplikasi kami.

Sebenarnya, sebilangan orang menggunakannya sebagai teknik ujian primitif untuk mengesahkan kelas individu (walaupun kerangka ujian seperti JUnit jauh lebih ditunjukkan untuk aktiviti ini).

Untuk menentukan kaedah utama mana yang harus dilaksanakan JVM sebagai titik masuk aplikasi kami, kami menggunakan fail MANIFEST.MF . Di dalam manifes, kita dapat menunjukkan kelas utama:

Main-Class: mypackage.ClassWithMainMethod

Ini kebanyakan digunakan semasa membuat fail .jar yang boleh dilaksanakan . Kami menunjukkan kelas mana yang mempunyai kaedah utama untuk memulai pelaksanaan, melalui file manifes yang terletak di META-INF / MANIFEST.MF (dikodkan dalam UTF-8).

5. Kesimpulan

Tutorial ini menerangkan perincian kaedah utama dan beberapa bentuk lain yang boleh diandaikan, bahkan yang tidak biasa bagi kebanyakan pembangun.

Perlu diingat bahawa, walaupun semua contoh yang kami tunjukkan adalah sah dari segi sintaksis, mereka hanya memenuhi tujuan pendidikan dan selalunya kita akan tetap menggunakan tanda tangan biasa untuk melakukan tugas kita.