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()