خطأ “class, interface, or enum expected” في جافا هو خطأ شائع أثناء عملية التجميع، ويشير إلى وجود مشكلة هيكلية في الكود الخاص بك. سيساعدك هذا الدليل على فهم الخطأ، وتحديد أسبابه، وتقديم حلول فعالة.
محتويات
- فهم الخطأ
- الأسباب الشائعة
- الحل: هيكل الكود
- الحل: مشاكل الأقواس
- الحل: تعريفات الطرق
- نصائح تصحيح الأخطاء
- الأسئلة الشائعة
فهم الخطأ
تتطلب جافا أن يكون كل الكود (باستثناء بعض البنى الخاصة مثل جمل Java 14+ العليا) موجودًا داخل فئة، أو واجهة، أو تعداد. يشير هذا الخطأ إلى أن المُجمّع واجه كودًا خارج مثل هذا الهيكل. إنه خطأ في بناء الجملة يمنع المُجمّع من فهم تنظيم الكود الخاص بك.
الأسباب الشائعة
- الأقواس الناقصة أو غير الصحيحة: الأقواس المُجعّدة
{}
المُخطئة أو غير المُطابقة هي السبب الأكثر شيوعًا. تُعرف هذه الأقواس كتل الكود داخل الفئات، والطرق، والحلقات، والشرطيات. - إعلانات الفئات/الواجهات/التعدادات غير الصحيحة: أخطاء إملائية في كلمات
class
،interface
، أوenum
أو بناء جملة غير صحيح في إعلاناتها. - كود خارج الفئة: يجب أن يكون كل الكود (المتغيرات، والطرق، والجمل) داخل فئة، أو واجهة، أو تعداد (إلا في حالة استخدام جمل عليا في إصدارات جافا المُدعمه).
- مشاكل تعريف الطريقة: تعريفات الطرق غير الصحيحة (أنواع الإرجاع المفقودة، المعلمات غير الصحيحة) يمكن أن تُسبب هذا الخطأ، خاصة داخل تعريف الفئة.
- أخطاء الفواصل المنقوطة: الفواصل المنقوطة المفقودة يمكن أن تؤدي إلى أخطاء متتالية، مما يتسبب في سوء تفسير المُجمّع لهيكل الكود.
الحل: هيكل الكود
- الفئة الرئيسية: تأكد من أن برنامجك يحتوي على فئة واحدة على الأقل، غالبًا مع طريقة
main
. - التغليف: تأكد من أن كل الكود موجود داخل الأقواس المُجعّدة لفئة، أو واجهة، أو تعداد.
- الإعلانات الصحيحة: تحقق من تهجئة وبناء جملة كلمات
class
،interface
، وenum
ومعرفاتها وأقواسها المرتبطة.
الحل: مشاكل الأقواس
افحص بعناية الأقواس المُجعّدة {}
، والأقواس المُربعة []
، والأقواس ()
. الأخطاء الشائعة تتضمن:
- أقواس غير مُطابقة: تأكد من أن كل قوس افتتاحي له قوس إغلاق مُقابل.
- أقواس مُخطئة المكان: ضع الأقواس بشكل صحيح لتعريف كتل الكود.
- المسافات البادئة: على الرغم من أنها لا تُسبب الخطأ مباشرة، إلا أن المسافات البادئة غير المُتناسقة تُخفي عدم تطابق الأقواس. استخدم أسلوبًا مُتناسقًا.
الحل: تعريفات الطرق
إذا حدث الخطأ داخل فئة، فراجع تعريفات طرقك:
- أنواع الإرجاع: يجب أن يكون للطرق التي تُعيد قيمًا نوع إرجاع مُحدد.
- قوائم المعلمات: تحقق من بناء جملة قوائم المعلمات: أنواع البيانات، والأسماء، والفواصل.
- مُعدّلات الوصول: على الرغم من أن مُعدّلات الوصول غير الصحيحة (
public
،private
،protected
) لا تُسبب هذا الخطأ مباشرة، إلا أنها قد تؤدي إلى مشاكل أخرى في التجميع قد تظهر على شكل هذا الخطأ.
نصائح تصحيح الأخطاء
- التبسيط: قم بتقسيم الفئات المعقدة إلى أجزاء أصغر وأكثر قابلية للإدارة لعزل المشكلة.
- التعليق: علق مؤقتًا على أجزاء من الكود لتحديد المنطقة المُشكلة.
- ميزات بيئة التطوير المتكاملة: استخدم أدوات تصحيح الأخطاء في بيئة التطوير المتكاملة الخاصة بك، مثل نقاط التوقف والخطوات خلال الكود.
- التنظيف وإعادة البناء: نظّف مشروعك وأعد بناؤه لمسح أي ملفات مُخزّنة مؤقتًا قد تُسبب مشاكل.
الأسئلة الشائعة
- س: لم تكتشف بيئة التطوير المتكاملة هذا. ج: على الرغم من أن بيئات التطوير المتكاملة توفر ميزات مفيدة، إلا أن المراجعة اليدوية للكود ضرورية.
- س: يشير الخطأ إلى سطر صحيح على ما يبدو. ج: تُشير رسالة الخطأ إلى مكان *اكتشاف* المُجمّع للمشكلة، وليس بالضرورة موقعها الدقيق. تحقق من الكود المحيط.
- س: لقد فحصت كل شيء وما زال لدي الخطأ. ج: ضع في اعتبارك ملفات تالفة أو مشاكل في بيئة التطوير المتكاملة. أعد تشغيل بيئة التطوير المتكاملة، أو نظّف مشروعك، أو أنشئ مشروعًا جديدًا. إذا استمرت المشكلة، فقدم مقتطفًا من الكود.