JavaRush /Blog Java /Random-MS /Anotasi. Bahagian satu, agak membosankan

Anotasi. Bahagian satu, agak membosankan

Diterbitkan dalam kumpulan
Bahagian pertama. Saya menulis secara ringkas tentang anotasi dengan jenis SOURCE dan CLASS. Ia bernilai membaca supaya tidak tersesat di bahagian kedua dan untuk memulakan "salah faham" sedikit lagi =) Pasti akan ada sekurang-kurangnya satu perkataan di sini yang anda tahu!
Anotasi.  Bahagian satu, agak membosankan - 1
Kali pertama saya melihat mereka dalam masalah di sini, saya entah bagaimana tidak perasan mereka. Nah, Override sedang melepak, ia ditulis oleh IDEA, jadi begitulah sepatutnya. Lama kelamaan, saya menyedari bahawa segala-galanya lebih mendalam. Semasa anda belajar, anotasi kelihatan seperti sesuatu yang tidak berguna, tetapi perlu. Anda tidak tahu mengapa mereka melakukannya. Saya rasa saya membaca beberapa artikel, mereka berkata "betapa hebatnya sekarang kami mempunyai anotasi, semuanya menjadi begitu mudah." Tetapi saya tidak tahu bagaimana sebelum ini, dan saya tidak faham bahawa ia lebih mudah sekarang. Sekarang saya tahu dan saya ingin memberitahu anda sedikit. Terdapat 3 jenis anotasi (Polisi Pengekalan):
  • SUMBER – anotasi pengkompil
  • CLASS – data daripada anotasi akan ditulis kepada bytecode tetapi tidak akan tersedia semasa operasi. Mereka menulis bahawa banyak anotasi dalam perpustakaan standard menggunakan jenis ini, dan kini mereka menyimpannya kerana keserasian ke belakang. Digunakan untuk tugas yang sangat spesifik.
  • Soal jawab tentang StackOverflow
  • RUNTIME – yang paling popular, digunakan semasa kod sedang berjalan.
Memandangkan sebahagian daripada artikel itu diambil oleh pengenalan, saya akan menulis di sini tentang anotasi SOURCE dan CLASS. Berikut adalah abstrak yang saya dapati (terima kasih kepada masalah 3607). Saya tidak menulis tentang masa jalan, terdapat terlalu banyak dan itu bukan topik artikel. SUMBER:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • ,java/lang/Override.class
KELAS: Saya tidak tahu mengapa anotasi dengan jenis CLASS diperlukan. Saya tidak dapat mencari dokumentasi untuk anotasi sedia ada, jadi saya rasa kita boleh meninggalkan bagasi ini. Tetapi jika anda mendapatinya, sila kongsi. Anotasi SOURCE:
  1. Asli – pembolehubah di bawah anotasi ini boleh merujuk kepada kod asli;

  2. SuppressWarnings – menyekat pelbagai amaran pengkompil;

  3. Dijana – menandakan kod sumber yang dijana;

  4. Override – semak untuk mengatasi kaedah.
Maklumat lanjut:
Anotasi.  Bahagian satu, agak membosankan - 2
Asli - tidak pernah dilihat dan tidak pernah digunakan. Saya rasa ini adalah anotasi yang agak jarang berlaku, kerana... mereka menggunakannya jika mereka perlu menjalankan kod dalam bahasa "ibu" yang lain. Saya cuba mencari rujukan yang jelas kepadanya, tetapi saya tidak dapat.
Anotasi.  Bahagian satu, agak membosankan - 3
SuppressWarnings - sering digunakan dalam bentuk @SuppressWarnings("unchecked"). Digunakan untuk menyekat amaran yang anda ketahui. Contoh di atas menyekat amaran tentang menghantar jenis yang tidak ditanda. Sekali lagi, saya hanya menemuinya dalam bentuk dan penggunaan ini.
Anotasi.  Bahagian satu, agak membosankan - 4
Dijana - Saya menemuinya sekarang apabila tugas memerlukan saya 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.
Anotasi.  Bahagian satu, agak membosankan - 5
Override - anda menggunakannya sepanjang masa dan ia melakukan perkara yang sangat berguna. Sangat mudah untuk membuat kesilapan apabila mengatasi kaedah, melainkan IDEA melakukannya. Terdapat kesilapan taip atau hanya kesilapan. Anotasi ini akan memastikan bahawa kaedah dalam kelas induk adalah sama dengan kaedah (berlabel) kami. Ini menjamin kami bahawa kaedah itu akan ditindih dan tidak ditambah. Apabila memfaktorkan semula kod, kaedah boleh dialih keluar atau ditukar. Sekali lagi, anotasi akan menunjukkan ralat kepada anda. Tanpa itu, kaedah kami hanya akan selesai.
Anotasi.  Bahagian satu, agak membosankan - 6
membosankan? Saya akan mengatakan ya, tidak banyak yang berguna untuk diambil dari artikel ini. Hampir semua perkara di dalamnya (90%) adalah cerita tentang sesuatu yang anda tidak akan gunakan, atau anda akan gunakan, tetapi sangat jarang. Baki 10% ialah helo dan penerangan tentang anotasi Override, yang pada pandangan pertama tidak berguna. Nah, saya rasa bahagian kedua artikel itu akan menjadi lebih menarik. Akan ada anotasi RUNTIME, dan mereka berinteraksi dengan kod dalam masa nyata dan mencipta ilmu hitam. Anotasi. Bahagian kedua. Lombok.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION