CodeBlanks Logo Icon CodeBlanks

static metot

interface içinde static metodu öğrenirsin.

Interface içinde static metot

Bir interface içinde static metot tanımlayabilirsin. Bu metot, interface adıyla çağrılır; uygulayan sınıfa ait değildir. Yardımcı metotlar için kullanışlıdır.

Örnek: interface Converter { static double metersToFeet(double m) { return m * 3.28084; } }. Bu metodu Converter.metersToFeet(2) şeklinde çağırırsın. Uygulayan sınıf üzerinden değil, interface adıyla erişilir. Static metot gövdeli olmalıdır; çünkü çağrıldığında çalışacak kod gerekir. Bu, interface ile ilgili yardımcı işlevleri gruplamanın temiz bir yoludur. Factory metotlar için de idealdir.

Yardımcı metot olarak static

Interface içindeki static metotlar, o interface ile ilgili yardımcı işlevleri taşır. Uygulayan sınıfa değil interface'e aittir; bu da organizasyonu temiz tutar.

Örnek: Converter interface'inde static Converter empty() gibi bir factory metot tanımlayabilirsin. Bu metot, uygulayan sınıflardan bağımsızdır. Converter.empty() ile çağrılır. Eski sürümlerde yardımcı metotlar için ayrı companion sınıflar yazılırdı; şimdi static metotlar interface içinde yaşar. Bu, ilgili kodun tek yerde toplanmasını sağlar. Çağrı her zaman interface adıyla yapılır.

Uygulama Converter interface'ine static metot ekle

Converter adında bir interface tanımla. İçine static double metersToFeet(double m) metodu ekle; gövdesi return m * 3.28084; döndürsün. main içinde System.out.println(Converter.metersToFeet(2)); çağır.

Başlangıç kodu

Main.java
// Converter interface'ini tanımla
// static metersToFeet metodu ekle
// main'de metodu çağırıp sonucu yazdır

Örnek çözüm

Main.java
interface Converter {
    static double metersToFeet(double m) {
        return m * 3.28084;
    }
}
class Main {
    public static void main(String[] args) {
        System.out.println(Converter.metersToFeet(2));
    }
}

Beklenen çıktı

6.56168

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 static metot çağrımını tamamla

Soru
double feet = ____.metersToFeet(2);
Cevap
double feet = Converter.metersToFeet(2);

Açıklama: static metot interface adıyla çağrılır.

2 Interface içindeki static metot nasıl çağrılır?

  • Örnek üzerinden
  • new ile
  • super ile
  • Interface adıyla Doğru cevap

Açıklama: Interface adıyla çağrılır; örnek gerekmez.

3 static metot kavramlarını eşle

Kavram Anlamı
static Yardımcı metot kelimesi
Converter Çağrı adı
metersToFeet Metot adı
return Değer döndürme

Orta seviye bölümündeki tüm dersler