Rumah >Java >javaTutorial >Bagaimana untuk membetulkan ralat 'kelas, antara muka, atau enum dijangka' dalam Java? Datang dengan contoh
Setiap pengaturcara Java, sama ada pemula atau berpengalaman, menghadapi banyak ralat semasa menulis kod. Secara amnya, ralat ini diklasifikasikan sebagai ralat masa jalan dan ralat masa penyusunan. Ralat masa jalan berlaku apabila menjalankan kod selepas penyusunan berjaya, manakala ralat masa kompilasi berlaku semasa penyusunan.
Kelas, antara muka atau penghitungan yang dijangkakan ialah ralat yang dilemparkan semasa penyusunan kod sumber. Ini boleh berlaku atas beberapa sebab, salah satunya ialah pendakap kerinting yang salah letak. Dalam artikel ini, kami akan meneroka punca ralat ini dan kaedah yang sepadan untuk membetulkan ralat yang dijangkakan pada kelas, antara muka atau penghitungan.
Ralat kompilasi bermakna kod kami tidak mengikut peraturan sintaks bahasa pengaturcaraan Java. Ralat jangkaan kelas, antara muka atau pengiraan yang dihasilkan oleh pengkompil bermakna kami telah menulis sesuatu dalam kod yang tidak dijangkakan oleh pengkompil Java.
Sebab yang dijangkakan untuk ralat kelas, antara muka atau penghitungan ialah:
Masalah pendakap gigi
Kelas tidak diisytiharkan
Mentakrifkan kaedah di luar skop kelas
Masalah pakej perisian
Mari kita bincangkan isu ini satu persatu dan cara kita boleh membetulkan ralat ini
Seperti yang dinyatakan sebelum ini, sebab yang paling biasa untuk menghadapi ralat jangkaan kelas, antara muka atau enum adalah berlebihan atau pendakap kerinting yang diletakkan secara tidak betul. Mungkin, kita sering menghadapi ralat ini kerana sebab ini, kerana ia adalah perkara biasa bagi pengaturcara untuk terlepas pendakap kerinting
Memandangkan kita perlu meletakkan kod dalam kelas, antara muka atau penghitungan, apabila kita tersilap menambah pendakap kerinting tambahan dalam kod, pengkompil Java menjangkakan kelas, antara muka atau penghitungan
Contoh berikut menggambarkan ralat yang akan kita perolehi jika kita meletakkan pendakap dengan salah.
rreeeepublic class Example1 { public static void main(String[] args) { int nums = 0; nums++; // incrementing the value System.out.println("Incremented value: " + nums); } } } // adding extra curly brace to generate the error
Contoh berikut menunjukkan cara untuk membetulkan ralat kelas, antara muka atau penghitungan dengan mengalih keluar pendakap luar daripada kod.
rreeeeExample1.java:8: error: class, interface, enum, or record expected } // adding extra curly braces to generate the error ^ 1 error
Mungkin terdapat situasi di mana seseorang mungkin terlupa untuk menentukan kelas dan tidak memasukkan kod dalam kelas sama sekali. Dalam kes ini, kita mungkin menghadapi ralat kelas, antara muka atau penghitungan kerana mengikut garis panduan Java, setiap blok kod mesti ditakrifkan dalam kelas. Jadi pastikan anda membungkus setiap blok kod dalam kelas
Sebab lain yang boleh menyebabkan ralat ini ialah kami tersilap mentakrifkan kaedah di luar skop kelas.
Dalam contoh di bawah, kami sengaja meletakkan kaedah 'main()' di luar kelas untuk menjana ralat.
rreeeepublic class Example2 { public static void main(String[] args) { int nums = 0; nums++; // incrementing the value System.out.println("Incremented value: " + nums); } }
Untuk membetulkan ralat sebelumnya, kami hanya mengikuti contoh dan meletakkan kaedah 'utama()' di dalam kelas.
rreeeeIncremented value: 1
Apabila pengaturcara Java mengisytiharkan berbilang pakej dalam satu kod sumber, kami mungkin menghadapi masalah ini.
Dalam contoh ini, kami akan mengisytiharkan dua pakej untuk menjana ralat.
public class Example3 { } // from below lines we will get error public static void main(String[] args) { int nums = 0; nums++; // incrementing the value System.out.println("Incremented value: " + nums); }
Example3.java:3: error: class, interface, enum, or record expected public static void main(String[] args) { ^ Example3.java:5: error: class, interface, enum, or record expected nums++; // incrementing the value ^ Example3.java:6: error: class, interface, enum, or record expected System.out.println("Incremented value: " + nums); ^ Example3.java:7: error: class, interface, enum, or record expected } ^ 4 errors
Dalam contoh ini, kami akan mengalih keluar salah satu pakej yang ditentukan untuk membetulkan ralat yang dijangkakan kelas, antara muka atau enum.
rreeeepublic class Example4 { public static void main(String[] args) { int nums = 5; nums += 1; // incrementing the value System.out.println("Incremented value: " + nums); } }
Dalam artikel ini, kami mengetahui tentang ralat yang dijangkakan bagi jenis kelas, antara muka atau penghitungan melalui beberapa contoh program. Kami juga menemui punca ralat ini dan pembetulan yang sepadan. Kurung kerinting yang salah letak adalah punca yang paling biasa
Atas ialah kandungan terperinci Bagaimana untuk membetulkan ralat 'kelas, antara muka, atau enum dijangka' dalam Java? Datang dengan contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!