static metot
- Java kursu
- Orta seviye
- Ders 50/116
- 5 dk
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
// Converter interface'ini tanımla
// static metersToFeet metodu ekle
// main'de metodu çağırıp sonucu yazdırÖrnek çözüm
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
double feet = ____.metersToFeet(2);
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 |