English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدليل، سنتعلم من خلال الأمثلة ما هي التعليقات، والتعليقات المختلفة في Java وكيفية استخدامها.
التعليقات في Java هي بيانات عن بيانات البرنامج (بيانات عن بيانات).
تقدم هذه التعليقات معلومات إضافية عن البرنامج، لكنها ليست جزءًا من البرنامج المدمج. لا تؤثر هذه التعليقات على تنفيذ البرنامج المدمج.
تبدأ التعليقات بالـ @. لغتها هي:
@AnnotationName
لنأخذ @Override ك مثال.
@Override يحدد أن الطريقة المميزة بهذا التعليق هي إعادة كتابة الطريقة باستخدام نفس الاسم والنوع العائلي والقائمة على المعاملات.
عندما يتم إعادة كتابة الطريقة، ليس من الضروري استخدام @Override. ولكن، إذا استخدمناه، فإن المترجم سيقدم خطأ إذا حدث خطأ (مثل نوع المعاملات غير صحيح) عند إعادة كتابة الطريقة.
class Animal { public void displayInfo() { System.out.println( "أنا حيوان."); } } class Dog extends Animal { @Override public void displayInfo() { System.out.println( "أنا كلب."); } } class Main { public static void main(String [ ] args ){ Dog d1 = new Dog(); d1.displayInfo(); } }
نتائج الإخراج
أنا كلب.
في هذا المثال، يتم تعريف الطريقة displayInfo() في الكلاس الأم Animal وكلاس الفرع Dog. عند استدعاء هذه الطريقة، سيتم استدعاء الطريقة في الكلاس الفرع، وليس الطريقة في الكلاس الأم.
يمكن أن تحتوي التعليقات أيضًا على عناصر (أعضاء/خصائص/معلمات).
تعليقات العلامة لا تحتوي على أعضاء/عناصر. إنها تستخدم فقط لوضع علامة على الإعلانات.
لغة الجملة الخاصة بها هي:
@AnnotationName()
بما أن هذه التعليقات لا تحتوي على عناصر، لذا لا تحتاج إلىtheses. على سبيل المثال،
@Override
تعليقات العنصر الواحد تحتوي على عنصر واحد فقط.
لغة الجملة الخاصة بها هي:
@AnnotationName(elementName = "elementValue")
إذا كان هناك عنصر واحد فقط، فإنه من المعتاد تسمية العنصر بـ value.
@AnnotationName(value = "elementValue")
في هذه الحالة، يمكن أيضًا إزالة اسم العنصر. اسم العنصر الافتراضي هو value.
@AnnotationName("elementValue")
تتضمن هذه التعليقات عدة عناصر منفصلة بالكومياء.
لغة الجملة الخاصة بها هي:
@AnnotationName(element1 = "value1", element2 = "value2")
يمكن وضع أي إعلان عن طريق وضعها أعلى بيانات الإعلان لوضع علامة على التعليقات. بدءاً من Java 8، يمكن أيضًا وضع التعليقات قبل الأنواع.
كما ذكرت سابقاً، يمكن وضع التعليقات البرمجية في الأنواع، والطرق، والواجهات، والحقول، وأعمدة الأنظمة البرمجية الأخرى في الأعلى.
import java.util.*; class Main { @SuppressWarnings("unchecked") static void wordsList() { ArrayList wordList = new ArrayList<>(); // هذا سينتج تحذير غير مكتشف wordList.add("w3codebox"); System.out.println("Word list => " + wordList); } public static void main(String args[]) { wordsList(); } }
نتائج الإخراج
Word list => [w3codebox]
إذا تم ترميز البرنامج المذكور أعلاه دون استخدام تعليقة @SuppressWarnings("unchecked")، فإن محرر الكود سيرمز البرنامج، ولكن سيقدم التحذير التالي:
Main.java يستخدم عمليات غير مختبرة أو غير آمنة. Word list => [w3codebox]
نحن نحصل على التحذير
Main.java يستخدم عمليات غير مختبرة أو غير آمنة
بسبب الخطوات التالية.
ArrayList wordList = new ArrayList<>();
هذا لأننا لم نحدد نوع المصفوفة الحصرية العامة بعد. يمكننا حل هذا التحذير من خلال تحديد الجينات في尖ائيس <>.
ArrayList<String> wordList = new ArrayList<>();
قبل Java 8، يمكن استخدام التعليقات فقط في التصريحات. الآن، يمكن استخدام تعليقات النوع أيضًا. مما يعني أننا يمكن أن نضع التعليقات في أي مكان نستخدم فيه النوع.
ندعو إلى بناء المصفوفة
new @Readonly ArrayList<>()
تعريف النوع
@NonNull String str;
هذا التصريح يحدد متغير str من نوع String غير فارغ لتجنب NullPointerException.
@NonNull List<String> newList;
هذه التصريح تحدد قائمة غير فارغة لنوع String.
List<@NonNull String> newList;
هذه التصريح تحدد قائمة القيم الفارغة لنوع String.
تحويل النوعnewStr = (@NonNull String) str;
فقرة extends و implements
class Warning extends @Localized Message
throws الفقرة
public String readMethod() throws @Localized IOException
تساعد التعليقات النوعية على تحسين تحليل كود Java، وتقدم فحصًا نوعيًا أقوى.
1. التعليقات المسبقة
@Deprecated
@Override
@SuppressWarnings
@SafeVarargs
@FunctionalInterface
2. مقدمة التعليقات
@Retention
@Documented
@Target
@Inherited
@Repeatable
3. تعليقات مخصصة
هذه الأنواع من التعليقات فيأنواع التعليقات Javaيوجد وصف مفصل في الدليل.
تعليمات المحلل - يمكن استخدامها لتقديم تعليمات للمحلل، التحقق من الأخطاء أو إزالة التحذيرات. مثل التعليقات المدمجة @Deprecated، @Override، @SuppressWarnings.
تعليمات التجميع - تقدم هذه التعليقات تعليمات لتوليد الأدوات البرمجية عند التجميع، ملفات XML وما إلى ذلك.
تعليمات التشغيل - يمكن تعريف بعض التعليقات لتقديم تعليمات للبرنامج عند تشغيله. هذه التعليقات يتم الوصول إليها باستخدام Java Reflection.