Java’da Default Method

Java’da Default Method





Java’nın 8. versiyonu ile beraber bir çok yenilik geldi. Default method, bunlardan bir tanesidir. Daha önceki versiyonlarda interface içerisinde sadece soyut (abstract) yani kod bloğu olmayan sadece metot imzası bulunan metotlar eklenebiliyordu. Java 8 ile beraber somut (concrete) yani metot imzası ve kod bloğu bulunan metotlar eklenebiliyor. Bunu sağlayan anahtar kelime ise default’tur. Aşağıdaki örneği inceleyelim.

public interface Shape {
default void rotate() {
System.out.println("Shape is rotating...");
}
}

Yukarıdaki interface tanımı yaptıktan sonra bir sınıf oluşturup bu sınıfı da Shape interface’inden türetirsek, ilgili sınıfta rotate metodu olmasa bile Shape interface’inin içerisindeki rotate metodu çalışacaktır. Örneğin;

public class Line implements Shape {
}

Line sınıfının tanımlanması ve rotate metodunun çağrılması aşağıdaki gibidir.

Shape line = new Line();
line.rotate();

Konsol çıktısı şu şekildedir.

Shape is rotating…

Eğer Shape interface’indeki rotate metodu yerine oluşturmuş olduğumuz sınıfa özgü rotate metodu tanımlamak istiyorsak, ilgili metodu override ederiz.

public class Square implements Shape {
@Override
public void rotate() {
System.out.println("Square is rotating...");
}
}

Square sınıfının tanımlanması ve rotate metodunun çağrılması aşağıdaki gibidir.

Shape square = new Square();
square.rotate();

Konsol çıktısı aşağıdaki gibidir.

Square is rotating…

İyi günler,
Bol kodlamalar :)

Etiketler

Yorum Gönder

0Yorumlar
Yorum Gönder (0)