حصو 1. مون SOURCE ۽ CLASS قسم جي تشريح بابت تمام مختصر لکيو آهي. هي پڙهڻ جي لائق آهي، تنهنڪري ٻئي حصي ۾ گم ٿيڻ کان بچڻ ۽ پنهنجي ”غلط فهمي“ کي ٿورو وڌائڻ لاءِ =) مان واعدو ٿو ڪريان ته گهٽ ۾ گهٽ هڪ لفظ ضرور هوندو جيڪو توهان ڄاڻو ٿا!
مون پهريون ڀيرو هتي ڪمن ۾ تشريحون ڏٺيون آهن، مون انهن تي گهڻو ڌيان نه ڏنو. هتي @Override هتي ۽ اتي آهي، پر IDEA اهو شامل ڪري ٿو، تنهنڪري مون سمجهيو ته اهو ئي طريقو آهي. وقت سان گڏ، مون محسوس ڪيو ته هر شيء تمام گهڻي آهي. جيئن توهان پڙهو ٿا، تشريحون ڪجهه بيڪار لڳي سگهن ٿيون پر ضروري آهن. توهان کي خبر ناهي ته اهي ڇو موجود آهن يا اهي ڇا ڪندا آهن. توھان ڪجھھ مضمون پڙھيا آھن جن ۾ چيو ويو آھي، "اھو تمام وڏو آھي جو اسان وٽ ھاڻي تشريحون آھن، سڀ ڪجھ بلڪل سادو ٿي ويو آھي." پر مون کي خبر نه هئي ته شيون اڳ ڪيئن هيون، ۽ مون اهو نه سمجهيو ته شيون هاڻي آسان آهن. هاڻي مان ڄاڻان ٿو ۽ ٿورڙو حصيداري ڪرڻ چاهيان ٿو. 3 قسم جا آھن (RetentionPolicy) تشريح:
اصلي - مون اهو ڪڏهن به نه ڏٺو آهي ۽ ڪڏهن به استعمال نه ڪيو آهي. منهنجو خيال آهي ته هي هڪ نادر تشريح آهي، ڇاڪاڻ ته اهو استعمال ڪيو ويندو آهي جڏهن توهان کي ڪنهن ٻئي "مادي" ٻوليء ۾ ڪوڊ هلائڻ جي ضرورت آهي. مون ڪوشش ڪئي ۽ ان جو واضح ذڪر ڳولڻ ۾ ناڪام ٿيو.
SuppressWarnings - ھي تشريح اڪثر ھن طرح استعمال ٿيندي آھي: @SuppressWarnings("unchecked"). اهو ڊيڄاريندڙن کي دٻائڻ لاءِ استعمال ڪيو ويندو آهي جيڪي توهان اڳ ۾ ئي واقف آهيو. پوئين مثال غير چيڪ ٿيل قسم جي تبديلين بابت خبردارين کي دٻائي ٿو. ٻيهر، اهو واحد استعمال آهي جيڪو مون کي منهن ڪيو آهي.
ٺاهيل - مان ھاڻي ھن تشريح ۾ ھلي رھيو آھيان ھڪڙي تفويض جي ڪري جتي مون کي XSD فائلن مان ڪلاس تيار ڪرڻا آھن. اهي 3 تشريحون ڪافي مخصوص آهن ۽ ممڪن آهي ته هن وقت توهان لاءِ غير دلچسپ آهن. مان آخري بيان ڪندس.
اوور رائڊ - توھان ان کي مسلسل استعمال ڪريو ٿا ۽ اھو ڪجھھ ڪارائتو آھي. جڏهن هڪ طريقي کي ختم ڪيو وڃي، اهو آسان آهي غلطي ڪرڻ بغير IDEA جي مدد کان سواء. ڇا ٽائپس يا سادي غلطيون، غلطيون ٿينديون آهن. هي تشريح يقيني بڻائي سگهندي ته والدين طبقي ۾ طريقو اسان جي (تشريح ڪيل) طريقي سان ملندو آهي. انهي کي يقيني بڻائي ٿو ته اهو طريقو شامل ٿيڻ بدران ختم ڪيو ويندو. جڏهن ريفيڪٽرنگ ڪوڊ، والدين جو طريقو ختم يا تبديل ٿي سگھي ٿو. ٻيهر، هي تشريح هڪ غلطي ظاهر ڪندو. ان کان سواء، اسان جو طريقو صرف شامل ڪيو ويندو. بورنگ؟ مان چوندو هوس. هن مضمون مان حاصل ڪرڻ لاء گهڻو مددگار نه آهي. تقريبن هر شي (90٪) هتي ڪجهه بيان ڪري ٿي جيڪا توهان ڪڏهن به استعمال نه ڪندا يا صرف تمام گهٽ. باقي 10٪ هيلو چئي رهيو آهي ۽ بيان ڪري رهيو آهي @Override تشريح، جيڪا پهرين نظر ۾ بيڪار آهي. اهو چيو ته، منهنجو خيال آهي ته مضمون جي ٻئي حصي ۾ وڌيڪ دلچسپ ٿيندو. اتي RUNTIME تشريح تي بحث ڪندو - اھي عمل جي دوران ڪوڊ سان رابطو ڪن ٿا ۽ ڪارو جادو ڪندا آھن. تشريحون. حصو 2. لومبوڪ

- SOURCE - ڪمپيلر لاءِ تشريحون
- ڪلاس - تشريح مان معلومات بائيٽ ڪوڊ ۾ لکيل هوندي پر رن ٽائم تي دستياب ناهي. چون ٿا ته معياري لائبريريءَ ۾ ان قسم جون ڪيتريون ئي تشريحون آهن، جن کي هاڻي پسمانده مطابقت لاءِ رکيو ويو آهي. اهو تمام خاص ڪمن لاء استعمال ڪيو ويندو آهي.
- 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 - هي تشريح مختلف مرتب ڪندڙ وارننگن کي دٻائي ٿي؛
- ٺاهيل - هي تشريح ماخذ ڪوڊ جي نشاندهي ڪري ٿي جيڪا ٺاهي وئي هئي؛
- Override - هي تشريح چيڪ ڪرڻ جو طريقو overrides.
GO TO FULL VERSION