الجزء 1. لقد كتبت بإيجاز شديد عن التعليقات التوضيحية لنوع SOURCE وCLASS. هذا يستحق القراءة، وذلك لتجنب الضياع في الجزء الثاني ولتوسيع نطاق "سوء الفهم" لديك قليلاً =) أعدك أنه سيكون هناك بالتأكيد كلمة واحدة تعرفها على الأقل! في المرة الأولى التي رأيت فيها التعليقات التوضيحية في المهام هنا، لم أعرها الكثير من الاهتمام بطريقة أو بأخرى. هناك @Override هنا وهناك، لكن IDEA تضيف ذلك، لذلك اعتقدت أنه يجب أن يكون بهذه الطريقة. مع مرور الوقت، أدركت أن كل شيء أعمق من ذلك بكثير. أثناء دراستك، قد تبدو التعليقات التوضيحية عديمة الفائدة إلى حد ما ولكنها ضرورية. أنت لا تعرف سبب وجودهم أو ماذا يفعلون. لقد قرأت بعض المقالات التي تقول، "إنه لأمر رائع أن لدينا تعليقات توضيحية الآن، لقد أصبح كل شيء بسيطًا للغاية." لكنني لم أكن أعرف كيف كانت الأمور من قبل، ولم أفهم أن الأمور أصبحت أسهل الآن. الآن أعرف وأريد أن أشارك قليلاً. هناك 3 أنواع من التعليقات التوضيحية (سياسة الاستبقاء):
أصلي - لم أر هذا من قبل ولم أستخدمه أبدًا. أعتقد أن هذا تعليق توضيحي نادر إلى حد ما، لأنه يتم استخدامه عندما تحتاج إلى تشغيل التعليمات البرمجية بلغة "أصلية" أخرى. حاولت وفشلت في العثور على ذكر واضح لذلك.
SuppressWarnings - غالبًا ما يتم استخدام هذا التعليق التوضيحي على النحو التالي: @SuppressWarnings("unchecked"). يتم استخدامه لمنع التحذيرات التي تكون على علم بها بالفعل. يمنع المثال السابق التحذيرات بشأن تحويلات النوع غير المحددة. مرة أخرى، هذا هو الاستخدام الوحيد الذي واجهته.
تم الإنشاء - أواجه هذا التعليق التوضيحي الآن بسبب مهمة حيث يتعين علي إنشاء فئات من ملفات XSD. هذه التعليقات التوضيحية الثلاثة محددة تمامًا وعلى الأرجح أنها غير مثيرة للاهتمام بالنسبة لك في الوقت الحالي. سأصف الأخير.
التجاوز – أنت تستخدمه باستمرار وهو يفعل شيئًا مفيدًا للغاية. عند تجاوز إحدى الطرق، من السهل ارتكاب الأخطاء دون مساعدة IDEA. سواء كانت أخطاء مطبعية أو أخطاء بسيطة، فإن الأخطاء تحدث. سيتأكد هذا التعليق التوضيحي من أن الطريقة الموجودة في الفصل الأصلي تتطابق مع طريقتنا (الموضحة). وهذا يضمن أنه سيتم تجاوز الطريقة بدلاً من إضافتها. عند إعادة بناء التعليمات البرمجية، قد تتم إزالة الطريقة الأصلية أو تغييرها. مرة أخرى، سيشير هذا التعليق التوضيحي إلى وجود خطأ. وبدون ذلك، سيتم ببساطة إضافة طريقتنا. ممل؟ وأود أن أقول نعم. ليس هناك الكثير من المفيد استخلاصه من هذه المقالة. يصف كل شيء تقريبًا (90%) هنا شيئًا لن تستخدمه أبدًا أو نادرًا جدًا. أما نسبة الـ 10% المتبقية فهي تقول مرحبًا وتصف التعليق التوضيحيOverride، والذي يبدو للوهلة الأولى عديم الفائدة. ومع ذلك، أعتقد أن الجزء الثاني من المقال سيكون أكثر إثارة للاهتمام. ستتم مناقشة التعليقات التوضيحية لـ RUNTIME هناك - فهي تتفاعل مع الكود أثناء التنفيذ وتقوم بالسحر الأسود. الشروح. الجزء 2. لومبوك
- المصدر - التعليقات التوضيحية للمترجم
- CLASS - ستتم كتابة المعلومات من التعليق التوضيحي بالرمز الثانوي ولكنها غير متاحة في وقت التشغيل. يقولون أن المكتبة القياسية لديها العديد من التعليقات التوضيحية من هذا النوع، والتي يتم الاحتفاظ بها الآن للتوافق مع الإصدارات السابقة. يتم استخدامه لمهام محددة للغاية.
- أسئلة وأجوبة حول StackOverflow
- RUNTIME - هذه التعليقات التوضيحية هي الأكثر شيوعًا. يتم استخدامها أثناء تنفيذ التعليمات البرمجية.
- java/lang/annotation/Native.class;
- java/lang/SuppressWarnings.class
- javax/annotation/Generated.class
- java/lang/Override.class
- com/sun/istack/internal/Nullable.class
- com/sun/istack/internal/NotNull.class
- com/sun/istack/internal/Interned.class
- أصلي - قد يشير المتغير الذي يحتوي على هذا التعليق التوضيحي إلى الكود الأصلي؛
- SuppressWarnings - يمنع هذا التعليق التوضيحي تحذيرات المترجم المختلفة؛
- تم الإنشاء - يشير هذا التعليق التوضيحي إلى كود المصدر الذي تم إنشاؤه؛
- التجاوز - يتم تجاوز طريقة التحقق من التعليق التوضيحي.
GO TO FULL VERSION