Sobes.tech
Junior

Statik değişkenleri nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Statik değişkenler sınıfa aittir, belirli bir örneğe değil. Programın çalışma süresi boyunca tek bir örnekte bulunurlar ve bu sınıfın tüm nesneleri tarafından paylaşılırlar. Bir nesne tarafından yapılan statik bir değişiklik diğer nesneler tarafından da görülecektir.

Ana özellikler:

  • Aitlik: Sınıfa.
  • Örnek sayısı: Sınıfa göre bir tane.
  • Yaşam süresi: Sınıf yüklendiği andan program sona erene kadar.
  • Erişim: Genellikle sınıf adıyla ClassName.staticVariable, ancak nesne üzerinden erişim de mümkündür (tavsiye edilmez).
  • Başlatma: Sınıf yüklendiğinde bir kez.

Kullanım örnekleri:

  • Sınıf tarafından oluşturulan nesne sayacı.
  • Tüm sınıf için ortak sabitler.
  • Sınıf tarafından yönetilen ortak kaynaklar.

Java örneği:

class MyClass {
    static int counter = 0; // Statik değişken

    public MyClass() {
        counter++; // Nesne oluşturulurken statik sayacı artırır
    }

    public static void main(String[] args) {
        MyClass obj1 = new MyClass();
        MyClass obj2 = new MyClass();

        System.out.println(MyClass.counter); // Çıktı: 2
    }
}

Python örneği:

class MyClass:
    counter = 0  # Statik değişken

    def __init__(self):
        MyClass.counter += 1  # Statik sayacı artırır

    def main():
        obj1 = MyClass()
        obj2 = MyClass()

        print(MyClass.counter) # Çıktı: 2

    if __name__ == "__main__":
        main()