Language Orta

Esnek constructor gövdeleri

super() veya this() çağırmadan önce değerleri doğrulayın ve hesaplayın.

✕ Java 8
class Square extends Shape {
    Square(double side) {
        super(side, side);
        // can't validate BEFORE super!
        if (side <= 0)
            throw new IAE("bad");
    }
}
✓ Java 25+
class Square extends Shape {
    Square(double side) {
        if (side <= 0)
            throw new IAE("bad");
        super(side, side);
    }
}
Bu kodda bir sorun mu gördünüz? Bize bildirin.
🛡️

Hızla başarısız ol

super() constructor çalışmadan önce argümanları doğrulayın.

🧮

Önce hesapla

super() çağırmadan önce değerleri türetin ve verileri hazırlayın.

🧹

Geçici çözüm yok

Kısıtlamayı aşmak için artık statik yardımcı metotlar veya fabrika kalıpları gerekmiyor.

Eski Yaklaşım
super()'dan Sonra Doğrula
Modern Yaklaşım
super()'dan Önce Kod
JDK'dan itibaren
25
Zorluk
Orta
Esnek constructor gövdeleri
Mevcut

JDK 25 LTS'de tamamlandı (JEP 513, Eylül 2025).

Java 25, super()'ın ilk deyim olması zorunluluğunu kaldırır. Artık üst sınıf constructor'ına devretmeden önce argümanları doğrulayabilir, türetilmiş değerler hesaplayabilir ve durumu ayarlayabilirsiniz.

Paylaş 𝕏 🦋 in