Junior
Static modifikator hangi uygulamalara uygundur?
sobes.tech yapay zeka
AI'dan gelen yanıt
- Sınıf değişkenleri (statik alanlar): Tüm sınıf örnekleriyle ortak olan verileri depolamak için. Örneğin, oluşturulan nesne sayacı veya sabitler.
- Sınıf metodları (statik metodlar): Belirli bir sınıf örneğine bağlı olmayan işlemleri gerçekleştirmek için. Örneğin, yardımcı fonksiyonlar veya statik alanlarla çalışma metodları.
- Statik başlatma blokları: Sınıf yüklendiğinde karmaşık statik alan başlatmalarını yapmak için.
- Statik iç sınıflar: İlgili sınıfları mantıksal olarak gruplayıp, dış nesneye referans olmadan yardımcı sınıflar olarak kullanmak için.
Örnekler:
public class MyClass {
// Statik alan (sabit)
public static final int MAX_COUNT = 100;
// Statik alan (örnek sayacı)
private static int instanceCount = 0;
// Statik başlatma bloğu
static {
System.out.println("MyClass yüklendi.");
}
public MyClass() {
instanceCount++;
}
// Statik metod
public static int getInstanceCount() {
return instanceCount;
}
// Statik iç sınıf
public static class StaticInnerClass {
public void doSomething() {
System.out.println("Statik iç sınıfta.");
}
}
}
Statik ve statik olmayan üyelerin karşılaştırmalı tablosu:
| Özellik | Statik üye | Statik olmayan üye |
|---|---|---|
| Nesne ile ilişkisi | Sınıfa ait | Örneğe ait |
| Erişim | Sınıf adı veya nesne aracılığıyla | Nesne aracılığıyla |
| Başlatma | Sınıf yüklendiğinde | Nesne oluşturulduğunda |
| Bellek | Bir kez tahsis edilir | Her nesne için tahsis edilir |