JavaSE Annotations Eğitimi

JavaSE Annotations - Eğitimi​

DECLARING AN TANOTATION TYPE

Temel olarak bir anotasyon tanımlamak için, @interface tanımı kullanılır. Genel olarakta şuna benzer

Bir sınıf üzerinde kullanıldığında görünümü şu şekildedir;

Javada Ön Tanımlı Anotasyonlar

@Deprecated  : Bazen kullanımda olan bir kodun programın ilerleyen sürümlerinde ya da aşamalarında kullanımının sonlanması gerekebilir. Bu gibi durumlarda ilgili kodu silmek sorunlara yol açabilmektedir. Bu nedenle yayından kaldırılan kodun, kaldırıldığını bildirmek için bu anotasyon kullanılır.

  @Override   : Bir üst sınıfdan miras alınan methodların  ilgili sınıf içinde yeniden düzenlenmesi gerekebilir. Bu durumda method miras alan sınıf içinde bu anotasyonla ezilir.

  @SuppressWarning  : Kullanımdan kaldırılan bir metodun kullanılması durumunda derleyici bir uyarı oluşur. Bu uyarıyı engellemek için kullanılır.

  @SafeWarargs  :  Metodlarda ve Constructorda kullanıldığında varargs parametresinde güvenli olmayan işlemler gerçekleşmediğini bildirir. Güvenlik doğrulaması bildirir ve varars a ait denetlenmeyen uyarıları bastırır.

  @FunctionalInterface  : Java8 ile birlikte gelmiştir. İlgili sınıfın fonksiyonel bir interface olarak kullanılması gerektiğini bildirir.

ANOTASYON TANIMINDA ANOTASYONLAR

@Retention  : Tanımı yapılmaya çalışılan anotasyonun saklanma biçimini tanımlar

  • RetentionPolicy.SOURCE : Sadece kaynak seviyesinde işlem görür derleyici tarafından gözardı edilir.
  • RetentionPolicy.CLASS : Derleme zamanında tutulur, ancak JVM tarafından dikkate alınmaz.
  • RetentionPolicy.RUNTIME : JVM tarafında tutulur, böylece RUNTIME da kullanılabilir.
  •  

  @Document  : java doc aracı kullanılarak, ilgili anotasyonun belgelenmesi gerektiğini belirtir.

  @Inherited  : bir anotasyonun süper sınıftan alınabileceğini belirtir.

  @Repetable  : Java SE8 de gelmiştir. Aynı bildirime sahip anotasyonları tekrarlı olarak kullanılabileceğini belirtir.

@Target  : Tanımı yapılmaya çalışılan anotasyonun hangi java öğrelerine uygulanabileceğini kısıtlamaya yarar.

  • ElementType.ANNOTATION_TYPE : Bir açıklama türüne uygulanabilir.
  • ElementType.CONSTRUCTOR : Bir yapıcıya uygulanabilir.
  • ElementType.FIELD : Bir alana veya mülke uygulanabilir.
  • ElementType.LOCAL_VARIABLE : Yerel bir değişkene uygulanabilir.
  • ElementType.METHOD : Yöntem düzeyinde bir açıklamaya uygulanabilir.
  • ElementType.PACKAGE : Paket beyanına uygulanabilir.
  • ElementType.PARAMETER :Bir yöntemin parametrelerine uygulanabilir.
  • ElementType.TYPE : Bir sınıfın herhangi bir elemanına uygulanabilir.

ANOTASYONUN KULLANIMI

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir