CodeBlanks Logo Icon CodeBlanks

Özet - Static

static alan, metot ve bloğu birleştirerek bir Configuration sınıfı yazarsın.

Özet - Static

Bu grupta static alanları, static metotları, static blokları, sınıf değişkenlerini ve instanceof operatörünü öğrendin. Static üyeler sınıfa aittir; örnek oluşturmadan kullanılır.

Şimdi tüm bunları bir araya getireceksin: bir sınıf tanımla, static alan ve metot ekle, static blokle başlat ve instanceof ile tür kontrolü yap. Static, sınıf düzeyinde paylaşılan veri ve davranış sağlar.

Uygulama Logger sınıfını static ile tanımla

Logger adında bir sınıf tanımla. İçine static int count = 0 alanını ekle. static void log(String msg) metodu yaz; gövdesinde count++ yap ve System.out.println(count + ": " + msg); yaz. main içinde Logger.log("Başladı") ve Logger.log("Bitti") çağır.

Başlangıç kodu

Main.java
// Logger sınıfını tanımla
// static count ve log metodu ekle
// main içinde log çağır

Örnek çözüm

Main.java
class Logger {
    static int count = 0;
    static void log(String msg) {
        count++;
        System.out.println(count + ": " + msg);
    }
    public static void main(String[] args) {
        Logger.log("Başladı");
        Logger.log("Bitti");
    }
}

Beklenen çıktı

1: Başladı
2: Bitti

Sırada ne var?

Static üyeleri öğrendin. Sonraki gruplarda sabitler ile değişmez değerleri, enum ile sabit kümelerini ve interface ile sözleşme tanımlamayı göreceksin. Bunlar, sınıf tasarımının bir sonraki katmanıdır.

Bu grup; static alan, metot, blok, sınıf değişkenleri ve instanceof kavramlarını birleştirdi. Bunlar sınıf düzeyinde çalışmanın temelidir. Bir sonraki adımda sabitlerle değişmez değerleri tanımlayacaksın; static final ve enum ile değişmez veriyi keşfedeceksin.

Uygulama Counter sınıfını static ile tanımla

Counter adında bir sınıf tanımla. İçine static int total = 0 alanını ekle. static void increment() metodu yaz; gövdesinde total++ yap. static int getTotal() metodu yaz; total döndürsün. main içinde Counter.increment() çağır üç kez ve Counter.getTotal() sonucunu yazdır.

Başlangıç kodu

Main.java
// Counter sınıfını tanımla
// static total, increment ve getTotal ekle
// main içinde increment çağır ve getTotal yazdır

Örnek çözüm

Main.java
class Counter {
    static int total = 0;
    static void increment() {
        total++;
    }
    static int getTotal() {
        return total;
    }
    public static void main(String[] args) {
        Counter.increment();
        Counter.increment();
        Counter.increment();
        System.out.println(Counter.getTotal());
    }
}

Beklenen çıktı

3

Soru ve cevaplar

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

1 static metot nasıl çağrılır?

  • Yapıcı içinde
  • Sınıf adıyla Doğru cevap
  • Örnek üzerinden
  • interface ile

Açıklama: Sınıf adıyla — static metot örnek gerektirmez.

2 instanceof kontrolünü tamamla

Soru
if (obj ____ String) {
    String s = (String) obj;
}
Cevap
if (obj instanceof String) {
    String s = (String) obj;
}

Açıklama: instanceof ile tür güvenle kontrol edilir.

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