Static Keyword

Kategori: Java , 10 Temmuz 2019 , JanFranco


Static anahtar kelimesi sayesinde obje oluşturmadan direk olarak class'lardaki methodlara, değişkenlere erişebiliriz. Static olmayan methodlar, değişkenler vs. obje oluşturulmadan bellekte yer edinemezler. Ancak static anahtar kelimeli methodlar, değişkenler vs. direk olarak program başladığında bellekte oluşurlar. Örnek üzerinden daha iyi görelim, bir Student sınıfı açalım:


public class Student {

	private String name;
	public static int count = 0;
	
	public Student(String name) {
		this.name = name;
		count++;
	}
	
}
Bu sınıftan obje oluşturulduğunda count sayısı her seferinde bir artacak. Bellekte static anahtar kelimesi sayesinde direk yer edindiği için, her obje tanımlandığında sıfırdan değil, kaldığı yerden devam edecek. Şimdi test edelim:

public class Main_class {

	public static void main(String args[]) {
		
		Student student1 = new Student("Jan Franco");
		Student student2 = new Student("Jane Franco");
		
		System.out.println(Student.count);
		
	}
	
}
count değişkenini public yerine private da yapabilirdik. Private yaparsak, direk erişmemiz mümkün olmazdı. Getters/Setters fonksiyonlarını kullanarak erişebiliriz ancak Class'tan doğrudan erişmek istersek fonksiyonu da static yapmamız gerekir. Son hali Student.getCount() olur. Ayrıca main fonksiyonunun static olmasının sebebi program başladığında direk bellekte oluşmasını sağlamaktır.


Sonraki Yazı: Non-static Inner Classes
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın