Apabila JVM memanggil kaedah main(), program Java memulakan pelaksanaan. Aplikasi Java bermula dengan kaedah ini. Tanpa kaedah utama, fail Java berjaya dikompil kerana pada masa penyusunan, pengkompil tidak menyemak kaedah utama, tetapi pada masa jalan JVM menyemak sama ada kaedah utama() tersedia. Oleh itu, kami akan mendapat pengecualian semasa runtime.
Dalam artikel ini, kita akan memahami mengapa kita harus mengikuti konvensyen "public static void main(String[] args)
public class class_name { // This line must be written as it is public static void main(String[] args) { // code will be wriiten here } }
public class Tutorialspoint { public static void main(String []args) { System.out.println("Hello, you are on tutorials point"); } }
Hello, you are on tutorials point
Dalam fail java kami, mesti ada sekurang-kurangnya satu kelas awam tersedia. Mengikut konvensyen, kaedah utama mesti ditakrifkan dalam kelas, kerana di Java semuanya berada di dalam kelas. Ini menunjukkan bahawa java adalah bahasa berorientasikan objek.
Dalam contoh di atas, kelas 'Tutorialspoint' mengandungi kaedah main(). Mari kita bincangkan pelbagai bahagian kaedah utama() −
awam ialah pengubah suai akses yang digunakan untuk menentukan keterlihatan dan kebolehcapaian pembolehubah dan kaedah. Pembolehubah dan kaedah yang ditakrifkan menggunakan kata kunci awam boleh diakses oleh mana-mana kelas atau pakej. Sebelum ini kami membincangkan bahawa JVM memanggil kaedah main() , yang tidak terletak dalam kelas semasa. Oleh itu, kaedah main() diisytiharkan sebagai awam supaya kita boleh mengaksesnya dalam skop global atau di mana-mana sahaja.
Apakah yang berlaku jika kami tidak menggunakan kata kunci awam dalam kaedah utama()?
public class Tutorialspoint { static void main(String []args){ System.out.println("Hello, you are on tutorials point"); } }
Error: Main method not found in class Tutorialspoint, please define the main method as: public static void main(String[] args) or a JavaFX application class must extend javafx.application.Application
Kami mengalami ralat ini kerana JVM tidak dapat mencari kaedah main().
Biasanya, kami memanggil kaedah dengan mencipta objek kelas, tetapi kaedah statik boleh dipanggil tanpa menggunakan objek. JVM memanggil kaedah main() sebelum mencipta sebarang objek, itulah sebabnya kita perlu mengisytiharkannya sebagai statik.
Terjemahan bahasa Cina bagiKebanyakan ahli Matematik kelas terbina dalam adalah statik. Kita boleh menggunakannya secara langsung tanpa mencipta objek.
public class Main { public static void main( String[] args ) { double x = 6.55; double y = 4.32; System.out.println(" Ceil value of x: " + Math.ceil(x) ); System.out.println(" Floor value of y: " + Math.floor(y) ); } }
Ceil value of x: 7.0 Floor value of y: 4.0
Contoh di atas menunjukkan penggunaan kaedah statik ceil() dan floor() kelas Matematik. Kita dapat melihat bahawa ia digunakan secara langsung dalam program kami tanpa mencipta sebarang objek kelas Matematik.
Mari kita lihat apa yang berlaku jika kita tidak mengisytiharkan kaedah main() sebagai statik.
Terjemahan bahasa Cina bagipublic class Tutorialspoint { public void main(String []args){ System.out.println("Hello, you are on tutorials point"); } }
Error: Main method is not static in class Tutorialspoint, please define the main method as: public static void main(String[] args)
JVM tidak boleh memanggil kod di atas.
Kekosongan jenis pemulangan bermaksud kaedah itu tidak mengembalikan apa-apa. Di Java, kaedah main() ialah titik masuk dan keluar program. Apabila kaedah main() melengkapkan pelaksanaan, program Java juga menamatkan pelaksanaan. Jika kami menyediakan sebarang jenis pulangan seperti int atau double, ia akan menimbulkan ralat pada masa penyusunan.
Mari kita fahami melalui contoh -
public class Tutorialspoint { public int main(String []args){ System.out.println("Hello, you are on tutorials point"); } }
Tutorialspoint.java:4: error: missing return statement } ^ 1 error
Ini adalah ralat masa kompilasi. Pengkompil memerlukan pernyataan pulangan, tetapi ia tidak berguna kepada JVM.
utama ialah nama kaedah, jangan silap kata kunci. Ia sentiasa ditulis dalam bentuk "utama".
Terjemahan bahasa Cina bagiString[] args ialah parameter yang menerima parameter jenis String. Ia membolehkan kami menghantar parameter melalui terminal dan menyimpan parameter ini dalam tatasusunan rentetan. Kita boleh mengatakan bahawa String[] args ialah hujah baris arahan.
Contoh ini akan menggambarkan cara menghantar parameter ke fail Java dari terminal.
public class Arg { public static void main(String []args){ // for each loop to print argument taken from terminal for(String arg : args) { System.out.println(arg); } } }
Untuk menyusun kod dari terminal, taip arahan berikut: javac Arg.java
Untuk menjalankan kod dari terminal, masukkan arahan berikut: java Arg “Your String”
PS D:\Java Programs> java Arg "Hello, You are on Tutorials Point" Hello, You are on Tutorials Point
Dalam artikel ini, kami membincangkan program Java untuk memahami "public static void main(String[] args)". Kami juga membincangkan cara menerima input daripada terminal menggunakan parameter 'String[] args'.
Atas ialah kandungan terperinci Java public static void main(String args) Fungsi utama void statik awam Java (Parameter rentetan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!