CodeGym /Java Blog /Acak /Anotasi. Bagian 1 — sedikit membosankan
John Squirrels
Level 41
San Francisco

Anotasi. Bagian 1 — sedikit membosankan

Dipublikasikan di grup Acak
Bagian 1. Saya telah menulis secara singkat tentang anotasi tipe SOURCE dan CLASS. Ini layak dibaca, untuk menghindari tersesat di bagian kedua dan untuk sedikit memperluas "kesalahpahaman" Anda =) Saya berjanji pasti akan ada setidaknya satu kata yang Anda tahu! Anotasi.  Bagian 1 — sedikit membosankan - 1 Pertama kali saya melihat anotasi dalam tugas di sini, saya entah bagaimana tidak terlalu memperhatikannya. Ada @Override di sana-sini, tetapi IDEA menambahkannya, jadi saya pikir harus seperti itu. Seiring waktu, saya menyadari bahwa semuanya jauh lebih dalam. Saat Anda belajar, anotasi mungkin tampak agak tidak berguna tetapi perlu. Anda tidak tahu mengapa mereka ada atau apa yang mereka lakukan. Anda telah membaca beberapa artikel yang mengatakan, "sangat bagus kami memiliki anotasi sekarang, semuanya menjadi sangat sederhana." Tetapi saya tidak tahu bagaimana keadaan sebelumnya, dan saya tidak mengerti bahwa sekarang semuanya lebih mudah. Sekarang saya tahu dan ingin berbagi sedikit. Ada 3 jenis anotasi (RetentionPolicy):
  • SUMBER — Anotasi untuk kompiler
  • CLASS — Informasi dari anotasi akan ditulis dalam bytecode tetapi tidak tersedia saat runtime. Mereka mengatakan bahwa pustaka standar memiliki banyak anotasi jenis ini, yang sekarang disimpan untuk kompatibilitas mundur. Ini digunakan untuk tugas yang sangat spesifik.
  • Tanya Jawab tentang StackOverflow
  • RUNTIME — Anotasi ini adalah yang paling populer. Mereka digunakan saat kode sedang dieksekusi.
Pendahuluan mengambil bagian dari artikel, jadi saya akan menulis di sini tentang anotasi SOURCE dan CLASS. Ini adalah anotasi yang dapat saya temukan (berkat Tugas 3607). Saya tidak akan membahas anotasi runtime — ada terlalu banyak dan itu 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 CLASS diperlukan. Dokumentasi untuk anotasi yang ada tidak dapat ditemukan, jadi saya pikir Anda dapat meninggalkan bagasi ini. Tetapi jika Anda menemukannya, silakan bagikan. Anotasi SUMBER:
  1. Asli — Variabel dengan anotasi ini dapat merujuk ke kode asli;
  2. SuppressWarnings — Anotasi ini menekan berbagai peringatan penyusun;
  3. Generated — Anotasi ini menandai kode sumber yang dihasilkan;
  4. Override — Anotasi ini memeriksa penggantian metode.
Untuk informasi lebih lanjut:

@Warga asli

Asli — Saya tidak pernah melihat ini dan tidak pernah menggunakannya. Menurut saya ini adalah anotasi yang agak jarang, karena digunakan saat Anda perlu menjalankan kode dalam bahasa "asli" lainnya. Saya mencoba dan gagal menemukan penyebutan yang jelas tentang itu.

@SuppressWarnings

SuppressWarnings — Anotasi ini sering digunakan seperti ini: @SuppressWarnings("tidak dicentang"). Ini digunakan untuk menekan peringatan yang sudah Anda ketahui. Contoh sebelumnya menyembunyikan peringatan tentang konversi jenis yang tidak dicentang. Sekali lagi, ini adalah satu-satunya penggunaan yang saya temui.

@Dihasilkan

Dihasilkan — Saya mengalami anotasi ini sekarang karena tugas di mana saya harus membuat kelas dari file XSD. 3 anotasi ini cukup spesifik dan kemungkinan besar tidak menarik bagi Anda saat ini. Saya akan menjelaskan yang terakhir.

@Mengesampingkan

Override — Anda menggunakannya terus-menerus dan melakukan sesuatu yang sangat berguna. Saat mengganti metode, mudah membuat kesalahan tanpa bantuan IDEA. Apakah kesalahan ketik atau kesalahan sederhana, kesalahan terjadi. Anotasi ini akan memastikan bahwa metode di kelas induk cocok dengan metode (beranotasi) kita. Ini memastikan bahwa metode tersebut akan diganti daripada ditambahkan. Saat memfaktorkan ulang kode, metode induk dapat dihapus atau diubah. Sekali lagi, anotasi ini akan menunjukkan kesalahan. Tanpanya, metode kami hanya akan ditambahkan. Membosankan? Saya akan mengatakan ya. Tidak banyak membantu untuk mengumpulkan dari artikel ini. Hampir semuanya (90%) di sini menggambarkan sesuatu yang tidak akan pernah Anda gunakan atau sangat jarang. 10% sisanya menyapa dan mendeskripsikan anotasi @Override, yang sekilas tidak berguna. Konon, menurut saya di bagian kedua artikel ini akan lebih menarik. Di sana akan dibahas anotasi RUNTIME — mereka berinteraksi dengan kode selama eksekusi dan melakukan ilmu hitam. Anotasi. Bagian 2.Lombok
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION