Java Static

Static olarak deklare edilen örnek değişkenler aslında birer global değişkenlerdir.
Kendi sınıfından nesneler deklare edildiğinde static değişkenin bir kopyası yapılmaz. Bunun yerine sınıfın tüm örnekleri aynı static değişkeni paylaşır.
Static olarak deklare edilen metodların bazı kısıtlamaları vardır:

  • Yalnızca diğer static metodları cağrabilirler.
  • Yalnızca static veriye erişebilirler.
  • This veya super anahtar sözcüklerine göndermede bulunmazlar.

[sourcecode language=”java”]

public class Deneme {
static int x=0;

public static void main(String[] args) {
Deneme deneme = new Deneme();
Deneme deneme2 = new Deneme(); //aslında yeni bellek oluşuyor

System.out.println(deneme.x);   //x = 0
deneme.x++;
System.out.println(deneme.x);    //x = 1
deneme2.x++;
System.out.println(deneme2.x); //burada x = 0 olmali ama 2 cikiyor çünkü static
deneme.x++;
System.out.println(deneme2.x); // x=3 Static dediğimizde tüm degişkenler aynı anda değiştiriliyor.

}

}

[/sourcecode]

1 thought on “Java Static

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.