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!
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):
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.
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.
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.
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.
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.
- 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.
- java/lang/annotation/Native.class;
- java/lang/SuppressWarnings.class
- javax/annotation/Generated.class
- ,java/lang/Override.class
- com/sun/stack/internal/Nullable.class
- com/sun/stack/internal/NotNull.class
- com/sun/stack/internal/Intered.class
- Asli – pembolehubah di bawah anotasi ini boleh merujuk kepada kod asli;
- SuppressWarnings – menyekat pelbagai amaran pengkompil;
- Dijana – menandakan kod sumber yang dijana;
- Override – semak untuk mengatasi kaedah.
GO TO FULL VERSION