JavaRush /Java блогы /Random-KK /Аннотациялар. Бірінші бөлім, біраз қызықсыз

Аннотациялар. Бірінші бөлім, біраз қызықсыз

Топта жарияланған
Бірінші бөлім. Мен SOURCE және CLASS түрлерімен annotationлар туралы өте қысқаша жаздым. Екінші бөлімде адасып қалмау және «түсінбеу» үшін тағы да оқу керек =) Мұнда сіз білетін кем дегенде бір сөз болады!
Аннотациялар.  Бірінші бөлім, біраз қызықсыз - 1
Мен оларды мұндағы қиындықтарды бірінші рет көргенімде, мен оларды байқамадым. Ал, Override ілулі тұр, оны IDEA жазған, сондықтан солай болуы керек. Уақыт өте келе мен бәрі әлдеқайда тереңірек екенін түсіндім. Сіз оқып жатқанда, annotationлар пайдасыз, бірақ қажет нәрсе сияқты көрінеді. Неге бұлай істеп жатқандарын білмейсің. Менің ойымша, мен бір-екі мақаланы оқыдым, олар «қандай керемет, қазір бізде annotationлар бар, бәрі қарапайым болды» деді. Бірақ мен бұрын оның қалай болғанын білмедім және қазір оңайырақ екенін түсінбедім. Енді мен білемін және сізге аздап айтқым келеді. Аннотацияның 3 түрі бар (Retention Policy):
  • SOURCE – компилятордың annotationлары
  • КЛАСС – annotationдан алынған деректер byte codeқа жазылады, бірақ жұмыс кезінде қол жетімді болмайды. Олар стандартты кітапханадағы көптеген annotationлар осы түрді қолданатынын жазады, енді олар кері үйлесімділікке байланысты оны сақтайды. Өте нақты тапсырмалар үшін қолданылады.
  • StackOverflow бойынша сұрақ-жауап
  • RUNTIME – ең танымал, code жұмыс істеп тұрған кезде пайдаланылады.
Мақаланың бір бөлігі кіріспемен қамтылғандықтан, мен мұнда КӨЗ және КЛАСС annotationлары туралы жазамын. Міне, мен таба алатын рефераттар (3607 есептің арқасында). Мен жұмыс уақыты туралы жазбаймын, олардың саны өте көп және бұл мақаланың тақырыбы емес. КӨЗ:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • ,java/lang/Override.class
КЛАСС: CLASS түріндегі annotationлар не үшін қажет екенін білмеймін. Мен бұрыннан бар annotationларға арналған құжаттаманы таба алмадым, сондықтан бұл багажды артта қалдыра аламыз деп ойлаймын. Бірақ тапсаңыз, бөлісіңіз. SOURCE annotationлары:
  1. Native – осы annotation астындағы айнымалы жергілікті codeқа сілтеме жасай алады;

  2. SuppressWarnings – әр түрлі компилятор ескертулерін басады;

  3. Жасалған – жасалған бастапқы codeты белгілейді;

  4. Қайта анықтау – әдісті қайта анықтауды тексереді.
Қосымша мәліметтер:
Аннотациялар.  Бірінші бөлім, біраз қызықсыз - 2
Туған жер - ешқашан көрмеген және ешқашан пайдаланбаған. Менің ойымша, бұл өте сирек annotation, өйткені... егер олар басқа «ана» тілде codeты іске қосу қажет болса, оны пайдаланады. Мен оған нақты сілтеме табуға тырыстым, бірақ алмадым.
Аннотациялар.  Бірінші бөлім, біраз қызықсыз - 3
SuppressWarnings - жиі @SuppressWarnings («белгісіз») пішінінде қолданылады. Сіз білетін ескертулерді басу үшін қолданылады. Жоғарыдағы мысал тексерілмеген түрлерді трансляциялау туралы ескертулерді басады. Тағы да, мен оны тек осы пішінде және пайдалануда кездестірдім.
Аннотациялар.  Бірінші бөлім, біраз қызықсыз - 4
Жасалған - тапсырма xsd файлдарынан сыныптарды жасауды талап еткенде, мен оны қазір кездестірдім. Бұл 3 annotation өте нақты және қазіргі уақытта сізді қызықтырмауы мүмкін. Мен соңғысын сипаттаймын.
Аннотациялар.  Бірінші бөлім, біраз қызықсыз - 5
Қайта анықтау - сіз оны үнемі пайдаланасыз және ол өте пайдалы нәрсе жасайды. Егер IDEA мұны жасамаса, әдісті қайта анықтау кезінде қателесу оңай. Қателер немесе жай ғана қателер бар. Бұл annotation ата-аналық сыныптағы әдіс біздің (белгіленген) әдіспен бірдей екеніне кепілдік береді. Бұл әдіс қайта анықталатынына және оған қосылмайтынына кепілдік береді. Кодты қайта өңдеу кезінде әдісті жоюға немесе өзгертуге болады. Тағы да, annotation сізге қатені көрсетеді. Онсыз біздің әдісіміз жай ғана аяқталатын еді.
Аннотациялар.  Бірінші бөлім, біраз қызықсыз - 6
Қызықсыз ба? Мен айтар едім, иә, бұл мақаладан алудың пайдасы көп емес. Ондағы барлық дерлік (90%) сіз пайдаланbyteын немесе пайдаланbyteын нәрсе туралы, бірақ өте сирек. Қалған 10% - сәлем және бір қарағанда пайдасыз болып табылатын Override annotationсының сипаттамасы. Мақаланың екінші бөлімі қызықтырақ болады деп ойлаймын. RUNTIME annotationлары болады және олар нақты уақытта codeпен әрекеттеседі және қара магия жасайды. Аннотациялар. Екінші бөлім. Ломбок.
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION