Arşivler

Java 8 – Default Methods Nedir? Kullanım Örneği

javb
javb

Java 8 ile başlayan değişimlerin ve yeni özellikleri yazmaya devam ediyorum.

Bu yazıda Default Methods nedir? Nasıl kullanılır? Neyi amaçlamaktadır.

Java 8den önce arayüzler sadece soyut metodlara sahip olabilir. Java 8 den sonra bu zorunluluk ortadan kalmıştır.

Örnek olarak bir interface tanımlayalım.

interface MerhabaInterface{
    
    default void mesaj(String kullaniciAdi) {
        
        System.out.println("Merhaba"+kullaniciAdi+"!");
    }
}Code language: JavaScript (javascript)

default anahtar kelimesi ile tanımladığımız metod Merhaba interfacesinden türettiğimiz tüm classlarda default metodu @Override etmeye gerek kalmadan çalışmasını sağlayabilmekteyiz.

Bu sayede default method Override edebiliriz ancak static methodlar override edemeyiz. Güvenlik ön plana çıkmaktadır.

Üstteki interfaceyi türeten bir sınıf yapalım.

public class Merhaba implements MerhabaInterface{
    
    public static void main(String[] args) {
        
        Merhaba merhaba = new Merhaba();
        merhaba.mesaj("Burak"); 
    }
}Code language: PHP (php)

Çıktımız ise

Merhaba Burak

Olmaktadır.

Java 8 Dersleri