CodeGym/Blog Java/rawak/Anotasi. Bahagian 1 - sedikit membosankan
John Squirrels
Tahap
San Francisco

Anotasi. Bahagian 1 - sedikit membosankan

Diterbitkan dalam kumpulan
Bahagian 1. Saya telah menulis secara ringkas tentang anotasi jenis SOURCE dan CLASS. Ini patut dibaca, untuk mengelakkan tersesat di bahagian kedua dan mengembangkan "salah faham" anda sedikit =) Saya berjanji pasti akan ada sekurang-kurangnya satu perkataan yang anda tahu! Anotasi.  Bahagian 1 - agak membosankan - 1 Kali pertama saya melihat anotasi dalam tugasan di sini, saya entah bagaimana tidak memberi perhatian kepada mereka. Terdapat @Override di sana sini, tetapi IDEA menambahkannya, jadi saya fikir ia mesti begitu. Lama kelamaan, saya menyedari bahawa segala-galanya lebih mendalam. Semasa anda mengkaji, anotasi mungkin kelihatan agak tidak berguna tetapi perlu. Anda tidak tahu mengapa mereka wujud atau apa yang mereka lakukan. Anda telah membaca beberapa artikel yang mengatakan, "ia sangat hebat sehingga kami mempunyai anotasi sekarang, semuanya menjadi begitu mudah." Tetapi saya tidak tahu bagaimana keadaan sebelum ini, dan saya tidak faham bahawa keadaan lebih mudah sekarang. Sekarang saya tahu dan ingin berkongsi sedikit. Terdapat 3 jenis anotasi (RetentionPolicy):
  • SUMBER — Anotasi untuk pengkompil
  • CLASS — Maklumat daripada anotasi akan ditulis dalam bytecode tetapi tidak tersedia semasa runtime. Mereka mengatakan bahawa perpustakaan standard mempunyai banyak anotasi jenis ini, yang kini dikekalkan untuk keserasian ke belakang. Ini digunakan untuk tugas yang sangat khusus.
  • Soal Jawab tentang StackOverflow
  • RUNTIME — Anotasi ini adalah yang paling popular. Ia digunakan semasa kod sedang dilaksanakan.
Pengenalan mengambil sebahagian daripada artikel, jadi saya akan menulis di sini tentang anotasi SOURCE dan CLASS. Ini ialah anotasi yang saya dapati (terima kasih kepada Task 3607). Saya tidak akan menangani anotasi masa jalan — terdapat terlalu banyak daripadanya dan ia bukan topik artikel ini. SUMBER:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • java/lang/Override.class
KELAS: Saya tidak tahu mengapa anotasi KELAS diperlukan. Dokumentasi untuk anotasi yang sedia ada tidak ditemui di mana-mana, jadi saya fikir anda boleh meninggalkan bagasi ini. Tetapi jika anda mendapatinya, sila kongsi. Anotasi SOURCE:
  1. Asli — Pembolehubah dengan anotasi ini boleh merujuk kepada kod asli;
  2. SuppressWarnings — Anotasi ini menyekat pelbagai amaran pengkompil;
  3. Dijana — Anotasi ini menandakan kod sumber yang telah dihasilkan;
  4. Override — Anotasi ini menyemak penggantian kaedah.
Untuk maklumat lanjut:

@Asli

Asli — Saya tidak pernah melihat ini dan tidak pernah menggunakannya. Saya rasa ini adalah anotasi yang agak jarang berlaku, kerana ia digunakan apabila anda perlu menjalankan kod dalam bahasa "asli" yang lain. Saya cuba dan gagal untuk mencari sebutan yang jelas mengenainya.

@SuppressWarnings

SuppressWarnings — Anotasi ini sering digunakan seperti ini: @SuppressWarnings("unchecked"). Ia digunakan untuk menyekat amaran yang anda sedia maklum. Contoh sebelumnya menyekat amaran tentang penukaran jenis yang tidak ditandai. Sekali lagi, ini adalah satu-satunya penggunaan yang saya temui.

@Dijana

Dijana — Saya sedang menghadapi anotasi ini sekarang kerana tugasan di mana saya perlu menjana kelas daripada fail XSD. 3 anotasi ini agak khusus dan kemungkinan besar tidak menarik minat anda pada masa ini. Saya akan menerangkan yang terakhir.

@Override

Override — Anda menggunakannya secara berterusan dan ia melakukan sesuatu yang sangat berguna. Apabila mengatasi kaedah, adalah mudah untuk membuat kesilapan tanpa bantuan IDEA. Sama ada kesilapan menaip atau kesilapan mudah, kesilapan berlaku. Anotasi ini akan memastikan bahawa kaedah dalam kelas induk sepadan dengan kaedah (beranotasi) kami. Ini memastikan bahawa kaedah itu akan ditindih dan bukannya ditambah. Apabila kod pemfaktoran semula, kaedah induk boleh dialih keluar atau ditukar. Sekali lagi, anotasi ini akan menunjukkan ralat. Tanpa itu, kaedah kami hanya akan ditambah. membosankan? Saya akan berkata ya. Tidak banyak yang berguna untuk dikutip daripada artikel ini. Hampir kesemuanya (90%) di sini menerangkan sesuatu yang anda tidak akan pernah gunakan atau hanya sangat jarang. Baki 10% bertanya khabar dan menerangkan anotasi @Override, yang pada pandangan pertama tidak berguna. Yang berkata, saya fikir dalam bahagian kedua artikel itu akan menjadi lebih menarik. Di sana akan membincangkan anotasi RUNTIME — mereka berinteraksi dengan kod semasa pelaksanaan dan melakukan sihir hitam. Anotasi. Bahagian 2. Lombok
Komen
  • Popular
  • Baru
  • Tua
Anda mesti log masuk untuk meninggalkan ulasan
Halaman ini tidak mempunyai sebarang ulasan lagi