Özet - Generics
- Java kursu
- Orta seviye
- Ders 87/116
- 5 dk
Generic sınıf ve metodu birleştirerek bir Box<T> yazarsın.
Özet - Generics
Bu grupta generic'leri öğrendin: <T> ile generic sınıf ve metot, <T extends Number> ile bounded type, ? extends T ve ? super T wildcard, son olarak type erasure. Generic'ler derleme zamanında tip güvenliği sağlar; runtime'da tür silinir.
Bu özette hepsini birleştirip bir Box<T> sınıfı ve Box.of generic fabrika metodu yazacağız. Generic sınıfın özelliklerini, generic metodun tür çıkarımını ve diamond operator'ı birlikte göreceksin.
Uygulama Box<T> sınıfı ve Box.of metodu
class Box<T> tanımla; T value alanı, Box(T value) kurucusu ve static <T> Box<T> of(T value) generic fabrika metodu olsun; gövdesi return new Box<>(value);. main içinde Box<String> b = Box.of("Defter"); ile örnekle ve System.out.println(b.value); ile yazdır.
Başlangıç kodu
// Box<T> generic sınıfını tanımla (T value alanı, kurucu)
// Box.of generic metodunu ekle
// main: Box.of çağrısı ile örnekle ve println ile yazdırÖrnek çözüm
class Box<T> {
T value;
Box(T value) { this.value = value; }
static <T> Box<T> of(T value) {
return new Box<>(value);
}
}
public class Main {
public static void main(String[] args) {
Box<String> b = Box.of("Defter");
System.out.println(b.value);
}
}Beklenen çıktı
Defter
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Generic'lerin temel faydası nedir?
- Derleme zamanında tip güvenliği sağlaması Doğru cevap
- Runtime'da tür bilgisini saklaması
- Daha hızlı kod çalıştırması
- Reflection'ı kaldırması
Açıklama: Generic'ler derleme zamanında tip güvenliği sağlar; runtime'da tür silinir.
2 Generic fabrika metodunu tamamla
static <T> Box____ of(T value) {
return new Box<>(value);
}
static <T> Box<T> of(T value) {
return new Box<>(value);
}
Açıklama: <T> Box sınıfının tür parametresini döndürür.
3 Generics özetini eşleştir
| Kavram | Anlamı |
|---|---|
<T> |
Tür parametresi |
<T extends Number> |
Sınırlandırılmış tür |
? extends T |
Üretken joker |
Box.of |
Generic fabrika metodu |