1. Kısım. SOURCE ve CLASS tipi notlar hakkında çok kısaca yazdım. Bu, ikinci bölümde kaybolmamak ve "yanlış anlamanızı" biraz genişletmek için okumaya değer =) Söz veriyorum, kesinlikle bildiğiniz en az bir kelime olacak!
Buradaki görevlerde ek açıklamaları ilk gördüğümde, bir şekilde onlara pek dikkat etmemiştim. Burada ve orada @Override var, ancak IDEA bunu ekliyor, bu yüzden böyle olması gerektiğini düşündüm. Zamanla her şeyin çok daha derin olduğunu anladım. Çalışırken, notlar biraz işe yaramaz ama gerekli görünebilir. Neden var olduklarını ve ne yaptıklarını bilmiyorsunuz. "Artık ek açıklamalarımız olması o kadar harika ki, her şey çok basit hale geldi" diyen birkaç makale okudunuz. Ama daha önce işlerin nasıl olduğunu bilmiyordum ve şimdi işlerin daha kolay olduğunu anlamıyordum. Şimdi biliyorum ve biraz paylaşmak istiyorum. 3 tür (RetentionPolicy) ek açıklaması vardır:
Yerli - Bunu hiç görmedim ve hiç kullanmadım. Bunun oldukça nadir bir ek açıklama olduğunu düşünüyorum çünkü başka bir "yerel" dilde kod çalıştırmanız gerektiğinde kullanılır. Denedim ve bundan net bir söz bulamadım.
SuppressWarnings — Bu açıklama genellikle şu şekilde kullanılır: @SuppressWarnings("işaretlenmemiş"). Zaten farkında olduğunuz uyarıları bastırmak için kullanılır. Önceki örnek, denetlenmeyen tür dönüştürmeleri hakkındaki uyarıları bastırır. Yine, karşılaştığım tek kullanım bu.
Oluşturuldu — XSD dosyalarından sınıflar oluşturmam gereken bir ödev nedeniyle şu anda bu açıklamayla karşılaşıyorum. Bu 3 ek açıklama oldukça spesifiktir ve büyük olasılıkla şu anda sizin için ilgi çekici değildir. Sonuncusunu tarif edeceğim.
Geçersiz Kılma - Sürekli kullanırsınız ve çok yararlı bir şey yapar. Bir yöntemi geçersiz kılarken, IDEA'nın yardımı olmadan hata yapmak kolaydır. Yazım hataları veya basit hatalar olsun, hatalar olur. Bu ek açıklama, üst sınıftaki yöntemin (açıklamalı) yöntemimizle eşleşmesini sağlar. Bu, yöntemin eklenmesi yerine geçersiz kılınmasını sağlar. Kodu yeniden düzenlerken, ana yöntem kaldırılabilir veya değiştirilebilir. Yine, bu ek açıklama bir hatayı gösterecektir. O olmasaydı, yöntemimiz basitçe eklenirdi. Sıkıcı? Evet derim. Bu makaleden çıkarılacak pek yararlı bir şey yok. Buradaki hemen hemen her şey (%90), asla kullanmayacağınız veya çok nadiren kullanabileceğiniz bir şeyi anlatıyor. Kalan %10, ilk bakışta işe yaramaz olan @Override ek açıklamasına merhaba diyor ve açıklıyor. Bununla birlikte, makalenin ikinci bölümünün daha ilginç olacağını düşünüyorum. RUNTIME ek açıklamaları tartışılacaktır - yürütme sırasında kodla etkileşime girerler ve kara büyü yaparlar. Açıklamalar. Bölüm 2. Lombok

- SOURCE — Derleyici için ek açıklamalar
- SINIF — Ek açıklamadaki bilgiler bayt kodunda yazılacak ancak çalışma zamanında kullanılamayacak. Standart kitaplığın, artık geriye dönük uyumluluk için saklanan bu türden birçok ek açıklaması olduğunu söylüyorlar. Bu çok özel görevler için kullanılır.
- StackOverflow'ta Soru-Cevap
- ÇALIŞMA SÜRESİ — Bu ek açıklamalar en popüler olanlardır. Kod yürütülürken kullanılırlar.
- java/lang/annotation/Native.class;
- java/lang/SuppressWarnings.class
- javax/annotation/Generated.class
- java/lang/Override.class
- com/sun/istack/internal/Nullable.class
- com/sun/istack/internal/NotNull.class
- com/sun/istack/internal/Interned.class
- Yerel — Bu açıklamaya sahip bir değişken, yerel koda atıfta bulunabilir;
- SuppressWarnings — Bu not, çeşitli derleyici uyarılarını bastırır;
- Oluşturuldu — Bu ek açıklama, oluşturulan kaynak kodunu işaretler;
- Geçersiz Kılma — Bu ek açıklama, yöntem geçersiz kılma işlemlerini kontrol eder.
GO TO FULL VERSION