CodeBlanks Logo Icon CodeBlanks

static blok

static blok ile sınıf başlatmayı öğrenirsin.

static blok

Bir static blok, sınıf yüklendiğinde bir kez çalışır. Static alanların başlatılmasında kullanılır; özellikle birden çok adımda yapılan hesaplamalar için. static { } biçiminde yazılır.

Örnek: class Config { static double rate; static { rate = 1.5; } }. Burada static blok, rate alanına 1.5 atar. Sınıf yüklendiğinde bu blok bir kez çalışır; tüm örnekler aynı değeri görür. Static blok, basit atamadan daha karmaşık başlatma gerektiğinde kullanışlıdır. Birden çok static blok varsa yukarıdan aşağı sırayla çalışırlar.

Ne zaman static blok?

Static alan basit bir değerle başlatılamıyorsa static blok kullanılır. Örneğin bir hesaplama, dosya okuma veya dış kaynakla başlatma gerekiyorsa. Static blok, bu karmaşık başlatmayı tek yerde toplar.

Örnek: static List<Integer> data; static { data = new ArrayList<>(); data.add(10); data.add(20); }. Burada data listesi static blok içinde doldurulur. Sınıf yüklendiğinde liste hazır olur. Bu, static List<Integer> data = new ArrayList<>(); tek satırıyla yapılamayan çok adımlı başlatmadır. Static blok, başlatma mantığını sınıf düzeyinde düzenler.

Uygulama Config sınıfına static blok ekle

Config adında bir sınıf tanımla. İçine static int base alanını ekle (değer atama). static blok ekle; gövdesinde base = 100; yaz. main içinde Config.base değerini yazdır.

Başlangıç kodu

Main.java
// Config sınıfını tanımla
// static base alanı ve static blok ekle
// main içinde base değerini yazdır

Örnek çözüm

Main.java
class Config {
    static int base;
    static {
        base = 100;
    }
    public static void main(String[] args) {
        System.out.println(Config.base);
    }
}

Beklenen çıktı

100

Soru ve cevaplar

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

1 static blok ne zaman çalışır?

  • Her örnek oluşturulduğunda
  • Sınıf yüklendiğinde bir kez Doğru cevap
  • Metot çağrıldığında
  • Program bittiğinde

Açıklama: static blok sınıf yüklendiğinde bir kez çalışır.

2 static bloğu tamamla

Soru
class Config {
    static double rate;
    ____ {
        rate = 1.5;
    }
}
Cevap
class Config {
    static double rate;
    static {
        rate = 1.5;
    }
}

Açıklama: static blok sınıf yüklenirken çalışır.

3 static blok bölümlerini eşle

Kavram Anlamı
static { } Blok sözdizimi
sınıf yükü Çalışma zamanı
rate = 1.5 Başlatma
bir kez Çalışma sıklığı

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