مبدأ شرح جافا
جافا: استخدم التعليق التوضيحي ، //www.vevb.com/article/101747.htm
ما هو التعليقات التوضيحية
وتسمى التعليقات التوضيحية أيضًا بيانات التعريف ، مثل Override المشتركة و deprecated. التعليقات التوضيحية هي ميزة تم تقديمها في إصدار JDK1.5. يتم استخدامها لشرح الكود ويمكنهم التعليق على الحزم والفئات والواجهات والحقول ومعلمات الطريقة والمتغيرات المحلية ، إلخ. وظائفها الرئيسية هي كما يلي:
يمكن تقسيم التعليقات التوضيحية العامة إلى ثلاث فئات:
إحدى الفئات هي التعليقات التوضيحية القياسية التي تأتي مع Java ، بما في ذلك Override و DePrecated و suppressWarnings ، والتي تستخدم للإشارة إلى أن طريقة معينة هي إعادة كتابة ، فئة معينة أو طريقة قديمة ، وتحذير يتم تجاهله. بعد تمييز هذه التعليقات التوضيحية ، سيقوم المترجم بفحصه.
نوع واحد هو التعليق التوضيحي. التعليقات التوضيحية التعويضية هي التعليقات التوضيحية المستخدمة لتحديد التعليقات التوضيحية ، بما في ذلك Retention ، target ، inherited ، documented. يتم استخدام إعادة النظر للإشارة إلى المرحلة التي يتم فيها الاحتفاظ بالتعليقات التوضيحية ، ويتم استخدام @target للإشارة إلى نطاق التعليق التوضيحي المستخدم ، ويستخدم inherited للإشارة إلى أن التعليقات التوضيحية يمكن أن يتم توريثها ، ويتم استخدام document الموثقة للإشارة إلى ما إذا كان سيتم إنشاء وثيقة javadoc.
نوع واحد هو التعليقات التوضيحية المخصصة. يمكنك تحديد التعليقات التوضيحية وفقًا لاحتياجاتك الخاصة واستخدام التعليقات التوضيحية للتعليق على التعليقات التوضيحية المخصصة.
مبدأ التعليقات التوضيحية:
دعونا نرى كيفية دعم التعليقات التوضيحية تحت نظام Java. دعنا نعود إلى المثال أعلاه من التعليقات التوضيحية المخصصة. لاختبار التعليقات التوضيحية ، على النحو التالي. إذا قمت بتعليق فئة التعليقات التوضيحية ، فيمكن الحصول على قيمة إعلان التعليقات التوضيحية من خلال التعليق التوضيحي. cclass.getannotation (test.class) في وقت التشغيل. يمكن أن نرى من الجملة أعلاه أنه يحصل على شرح الاختبار من بنية الفصل ، لذلك يجب أن يكون قد تمت إضافة التعليقات التوضيحية إلى بنية الفصل في وقت ما.
Test ("Test") من الفئة العامة annotationTest {public void test () {}}من رمز المصدر Java إلى فئة Bytecode يتم بواسطة المترجم. سيقوم المترجم بتحليل رمز مصدر Java وإنشاء ملف فئة. تتم معالجة التعليقات التوضيحية أيضًا من قبل المترجم في وقت الترجمة. سيقوم المترجم بمعالجة رموز التعليقات التوضيحية وإرفاقها بهيكل الفصل. وفقًا لمواصفات JVM ، فإن بنية ملف الفئة هي تنسيق تم ترتيبها بدقة. الطريقة الوحيدة لإرفاق المعلومات بهيكل الفصل هي حفظها في سمات السمات لهيكل الفصل. نحن نعلم أنه بالنسبة للفصول والحقول والأساليب ، هناك هياكل الجدول المحددة الخاصة بها في بنية الفصل ، ولكل منها سماته الخاصة. بالنسبة للشروح ، يمكن أن يكون نطاق وظائفها مختلفًا أيضًا. يمكن استخدامها في الفصول الدراسية ، أو في الحقول أو الأساليب. في هذا الوقت ، سيقوم برنامج التحويل البرمجي بتخزين معلومات التعليقات التوضيحية على سمات الفصل والحقول والأساليب وفقًا لذلك.
بعد تجميع فئة التعليقات التوضيحية لدينا ، سيتم تضمين خاصية RunTimeVisibleAntations في ملف التعليقات التوضيحية المقابلة. نظرًا لأنه يتم تطبيق هذا التعليق على الفصل ، تتم إضافة هذه الخاصية إلى مجموعة سمات الفئة. أي أنه سيتم تسجيل قيمة زوج القيمة الرئيسية = اختبار شرح الاختبار. عندما تقوم JVM بتحميل رمز Bytecode لملف التعليقات التوضيحية
قد تكون هناك أسئلة هنا ، ما هو كائن التعليق التوضيحي للاختبار؟ في الواقع ، فإن جوهر التعليقات التوضيحية بعد التجميع هو واجهة ترث واجهة التعليقات التوضيحية ، لذلك @Test هو في الواقع "اختبار الواجهة العامة يمتد التعليق التوضيحي". عندما ندعو من خلال التعليق التوضيحي. هذا الكائن هو كائن توضيحي اختبار. يمكن الحصول على قيمة التعليقات التوضيحية من خلال طريقة قيمتها ().
تظهر العملية بأكملها لآلية تنفيذ التعليقات التوضيحية Java أعلاه. يتطلب تنفيذها تعاون المترجم و JVM.
شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!