Java'da statik:
Statik, Erişilemeyen Bir Değiştiricidir. Statik anahtar kelime, sınıf örneğine göre sınıfa aittir. bir Sınıfa bir Değişken veya Yöntem eklemek için kullanılabilir.
Statik anahtar kelime şunlarla kullanılabilir:
Yöntem
Değişken
Başka bir Sınıfın içine yerleştirilmiş sınıf
Başlatma Bloğu
Şununla KULLANILAMAZ:
Sınıf (İç içe değil)
inşaatçı
Arayüzler
Yöntem Yerel İç Sınıf (Fark sonra iç içe sınıf)
İç Sınıf yöntemleri
Örnek değişkenler
Yerel Değişkenler
Misal:
Yapıcıda artırılan count adında bir örnek değişkeni olan aşağıdaki örneği düşünün :
package pkg;
class StaticExample {
int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Çıktı:
1 1 1
Örnek değişkeni, nesne oluşturma sırasında belleği aldığından, her nesne örnek değişkeninin kopyasına sahip olacaktır, eğer artırılırsa diğer nesnelere yansıtmaz.
Şimdi örnek değişkeni sayısını statik bir sayıyla değiştirirsek , program farklı çıktılar üretir:
package pkg;
class StaticExample {
static int count = 0;// will get memory when instance is created
StaticExample() {
count++;
System.out.println(count);
}
public static void main(String args[]) {
StaticExample c1 = new StaticExample();
StaticExample c2 = new StaticExample();
StaticExample c3 = new StaticExample();
}
}
Çıktı:
1 2 3
Bu durumda statik değişken hafızayı yalnızca bir kez alır, herhangi bir nesne statik değişkenin değerini değiştirirse değerini korur.
Final ile Statik:
Nihai ve statik olarak bildirilen global değişken , tüm yürütme için değişmeden kalır. Çünkü, statik üyeler sınıf belleğinde saklanır ve tüm yürütmede yalnızca bir kez yüklenir. Sınıfın tüm nesneleri için ortaktır. Statik değişkenleri nihai olarak bildirirseniz, nesnelerin hiçbiri değerlerini nihai olarak değiştiremez. Bu nedenle, nihai ve statik olarak bildirilen değişkenlere bazen Sabitler denir. Varsayılan olarak son ve statik oldukları için tüm arabirim alanlarına sabitler denir.
Resim Kaynağı: Final Statik