Rumah > Java > javaTutorial > teks badan

Bagaimana untuk membetulkan ralat 'kelas, antara muka, atau enum dijangka' dalam Java? Datang dengan contoh

WBOY
Lepaskan: 2023-09-09 08:37:07
ke hadapan
1377 orang telah melayarinya

如何修复Java中的“class, interface, or enum expected”错误?附带示例

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.

Betulkan ralat jangkaan kelas, antara muka atau enum dalam Java

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

Sebab 1: Masalah kurungan kerinting

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 1

Contoh berikut menggambarkan ralat yang akan kita perolehi jika kita meletakkan pendakap dengan salah.

rreeee

Output

public 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
Salin selepas log masuk

Contoh 2

Contoh berikut menunjukkan cara untuk membetulkan ralat kelas, antara muka atau penghitungan dengan mengalih keluar pendakap luar daripada kod.

rreeee

Output

Example1.java:8: error: class, interface, enum, or record expected
} // adding extra curly braces to generate the error
^
1 error
Salin selepas log masuk

Sebab 2: Kelas tidak diisytiharkan

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 3: Menentukan kaedah di luar skop kelas

Sebab lain yang boleh menyebabkan ralat ini ialah kami tersilap mentakrifkan kaedah di luar skop kelas.

Contoh 3

Dalam contoh di bawah, kami sengaja meletakkan kaedah 'main()' di luar kelas untuk menjana ralat.

rreeee

Output

public class Example2 {
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
Salin selepas log masuk

Contoh 4

Untuk membetulkan ralat sebelumnya, kami hanya mengikuti contoh dan meletakkan kaedah 'utama()' di dalam kelas.

rreeee

Output

Incremented value: 1
Salin selepas log masuk

Sebab 4: Masalah pakej

Apabila pengaturcara Java mengisytiharkan berbilang pakej dalam satu kod sumber, kami mungkin menghadapi masalah ini.

Contoh 5

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);
   }
Salin selepas log masuk

Output

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
Salin selepas log masuk

Contoh 6

Dalam contoh ini, kami akan mengalih keluar salah satu pakej yang ditentukan untuk membetulkan ralat yang dijangkakan kelas, antara muka atau enum.

rreeee

Output

public class Example4 {
   public static void main(String[] args) {
      int nums = 5;
      nums += 1; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
Salin selepas log masuk

Kesimpulan

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan