JavaRush /Blog Jawa /Random-JV /Anotasi. Bagian siji, rada mboseni

Anotasi. Bagian siji, rada mboseni

Diterbitake ing grup
Pérangan pisanan. Aku nulis kanthi ringkes babagan anotasi karo jinis SOURCE lan CLASS. Iku worth maca supaya ora ilang ing bagean kapindho lan kanggo miwiti "salah pangerten" sethitik liyane =) Ana mesthi bakal paling siji tembung kene sing ngerti!
Anotasi.  Bagian siji, rada mboseni - 1
Nalika sapisanan aku weruh wong-wong mau ing masalah kene, Aku piye wae ora sok dong mirsani. Inggih, Override nongkrong, iki ditulis dening IDEA, dadi kudune. Swara wektu, aku nyadari yen kabeh luwih jero. Nalika sampeyan lagi sinau, anotasi katon kaya ora ana gunane, nanging perlu. Sampeyan ora ngerti kenapa dheweke nindakake. Aku rumangsa maca sawetara artikel, dheweke ujar "sepira gedhene saiki kita duwe anotasi, kabeh wis dadi gampang banget." Nanging aku ora ngerti carane iku sadurunge, lan aku ora ngerti sing iku luwih gampang saiki. Saiki aku ngerti lan aku pengin ngomong sethithik. Ana 3 jinis anotasi (RetentionPolicy):
  • SUMBER - anotasi kompiler
  • KELAS - data saka anotasi bakal ditulis menyang bytecode nanging ora bakal kasedhiya sajrone operasi. Dheweke nulis manawa akeh anotasi ing perpustakaan standar nggunakake jinis iki, lan saiki tetep amarga kompatibilitas mundur. Digunakake kanggo tugas sing spesifik banget.
  • Pitakonan lan jawaban ing StackOverflow
  • RUNTIME - sing paling populer, digunakake nalika kode mlaku.
Wiwit bagean saka artikel dijupuk munggah dening introduksi, Aku bakal nulis kene bab SOURCE lan CLASS anotasi. Ing ngisor iki abstrak sing bisa ditemokake (matur nuwun kanggo masalah 3607). Aku ora nulis babagan runtime, ana akeh banget lan dudu topik artikel kasebut. SUMBER:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • ,java/lang/Override.class
KELAS : Aku ora ngerti kenapa anotasi karo jinis KELAS dibutuhake. Aku ora bisa nemokake dokumentasi kanggo anotasi sing wis ana, mula aku mung bisa ninggalake bagasi iki. Nanging yen sampeyan nemokake, mangga bareng. Anotasi SUMBER:
  1. Native - variabel ing anotasi iki bisa ngrujuk menyang kode asli;

  2. SuppressWarnings - nyuda macem-macem bebaya kompiler;

  3. Generated - menehi tandha kode sumber sing digawe;

  4. Override - mriksa cara override.
Rincian liyane:
Anotasi.  Bagian siji, rada mboseni - 2
Native - tau ndeleng lan ora tau digunakake. Aku iki minangka anotasi sing rada langka, amarga ... padha nggunakake yen padha kudu mbukak kode ing basa "native" liyane. Aku nyoba golek referensi sing jelas babagan dheweke, nanging ora bisa.
Anotasi.  Bagian siji, rada mboseni - 3
SuppressWarnings - asring digunakake ing wangun @SuppressWarnings ("ora dicenthang"). Digunakake kanggo nyuda bebaya sing sampeyan ngerti. Conto ing ndhuwur nyuda bebaya babagan casting jinis sing ora dicenthang. Maneh, aku mung nemoni ing wangun lan panggunaan iki.
Anotasi.  Bagian siji, rada mboseni - 4
Generated - Aku ketemu saiki nalika tugas mbutuhake kula kanggo generate kelas saka file xsd. 3 anotasi iki cukup spesifik lan paling mungkin ora menarik kanggo sampeyan saiki. Aku bakal njlèntrèhaké sing pungkasan.
Anotasi.  Bagian siji, rada mboseni - 5
Override - sampeyan nggunakake kabeh wektu lan nindakake perkara sing migunani banget. Iku gampang kanggo nggawe kesalahan nalika overriding cara, kajaba IDEA nindakaken. Ana salah ketik utawa mung kesalahan. Anotasi iki bakal mesthekake yen metode ing kelas induk padha karo metode kita (dilabeli). Iki njamin yen cara kasebut bakal ditindhes lan ora ditambahake. Nalika refactoring kode, cara bisa dibusak utawa diganti. Maneh, anotasi bakal nuduhake kesalahan kanggo sampeyan. Tanpa iku, cara kita mung bakal rampung.
Anotasi.  Bagian siji, rada mboseni - 6
mboseni? Aku bakal ngomong ya, ora ana gunane kanggo njupuk saka artikel iki. Meh kabeh ing (90%) crita bab soko sing ora bakal digunakake, utawa sampeyan bakal, nanging arang banget. 10% sing isih ana yaiku hello lan katrangan babagan anotasi Override, sing sepisanan ora ana gunane. Inggih, aku mikir bagean kapindho artikel bakal luwih menarik. Bakal ana anotasi RUNTIME, lan padha sesambungan karo kode ing wektu nyata lan nggawe sihir ireng. Anotasi. Bagian loro. Lombok.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION