Yerleşik annotation'lar
- Java kursu
- İleri seviye
- Ders 31/82
- 5 dk
@Override ve @Deprecated yerleşik annotation'ları öğrenirsin.
Yerleşik annotation'lar
Java derleyicisi bazı annotation'ları (etiketleri) önceden tanımlar. Bunlar kodun davranışını değiştirmez ama derleyiciye ipucu verir ve hataları önceden yakalar.
Üç temel yerleşik annotation: @Override bir yöntemin üst sınıftakini geçersiz kıldığını denetler; @Deprecated artık kullanılmaması gereken bir öğeyi işaretler; @SuppressWarnings seçilen uyarıları susturur. Her biri @ işaretiyle başlar ve değiştiricinin hemen üstüne yazılır.
@SuppressWarnings ile uyarı susturma
@SuppressWarnings belirli uyarı türlerini kapatır. Yaygın değerler: "unchecked" ham türlerden, "deprecation" eski API kullanımından, "unused" kullanılmayan değişkenlerden kaynaklanan uyarıları bastırır.
Örnek: @SuppressWarnings("unchecked") bir yöntemin üstüne yazılırsa o yöntemdeki unchecked uyarıları görünmez. Uyarıyı yalnızca en dar kapsamda susturmak iyi bir alışkanlıktır; tüm sınıfı kapsamak yerine tek yönteme uygulamak tercih edilir.
Uygulama @Override ile toString yaz
Bir Product sınıfı tanımla: name alanı ve kurucu içerir. toString yöntemini @Override ile işaretle ve "Product: " + name döndür. main içinde bir ürün oluşturup System.out.println ile yazdır.
Başlangıç kodu
// Product sınıfını tanımla
// toString yöntemini geçersiz kıl
// main içinde ekrana yazdırÖrnek çözüm
public class Product {
private String name;
public Product(String name) { this.name = name; }
@Override
public String toString() { return "Product: " + name; }
public static void main(String[] args) {
System.out.println(new Product("kalem"));
}
}Beklenen çıktı
Product: kalem
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangi annotation, bir yöntemin üst sınıf yöntemini geçersiz kıldığını derleyiciye denetletir?
- @SuppressWarnings
- @Deprecated
- @Override Doğru cevap
- @FunctionalInterface
Açıklama: @Override derleyiciye imzayı üst sınıfla karşılaştırmasını söyler.
2 @Override etiketini oluştur
public class Animal {
@____
public String toString() { return "Animal"; }
}
public class Animal {
@Override
public String toString() { return "Animal"; }
}
Açıklama: @Override etiketi toString'in geçersiz kılındığını gösterir.
3 Yerleşik annotation'ları eşleştir
| Kavram | Anlamı |
|---|---|
@Override |
Geçersiz kılma denetimi |
@Deprecated |
Eski öğe işareti |
@SuppressWarnings |
Uyarı susturma |
@FunctionalInterface |
Tek soyut yöntem |