Junior
Java'da 'static' anahtar kelimesi ne anlama geliyor?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da static, bir öğenin belirli bir nesne örneğine değil, sınıfa ait olduğunu bildirmek için kullanılır.
Anahtar kelime şu durumlara uygulanabilir:
- Değişkenler (alanlar):
- Bir kopyası tüm sınıf için geçerlidir, oluşturulan örnek sayısından bağımsızdır.
- Sınıfın adıyla erişilebilir (örneğin,
ClassName.staticVariable).
// Statik değişken örneği public class MyMath { public static final double PI = 3.14159; // Erişim: MyMath.PI } - Yöntemler:
- Yöntem sınıfa aittir, belirli bir nesneye değil.
- Sınıf adıyla çağrılabilir (örneğin,
ClassName.staticMethod()). - Sınıfın örneğine bağlı olmayan üyelerine (değişkenler veya yöntemler) erişimi yoktur.
// Statik yöntem örneği public class Calculator { public static int add(int a, int b) { return a + b; } // Çağrı: Calculator.add(5, 3) } - İlk yükleme blokları:
- JVM'ye sınıf yüklendiğinde bir kez çalışır.
- Statik alanların başlatılması veya sınıfla ilgili diğer işlemler için kullanılır.
// Statik blok örneği public class DataInitializer { static { // Sınıf yüklendiğinde çalışacak kod System.out.println("DataInitializer sınıfı yüklendi."); } } - İç içe sınıflar (inner/nested classes):
- Statik iç içe sınıf, normal üst sınıf gibi davranır, sadece başka bir sınıfın içinde bulunur.
- Erişim için dış sınıfın örneğini oluşturmak gerekmez.
- Sadece dış sınıfın statik üyelerine erişebilir.
// Statik iç içe sınıf örneği public class OuterClass { static class StaticInnerClass { // Statik iç içe sınıfın alanları ve yöntemleri } } // Erişim: OuterClass.StaticInnerClass inner = new OuterClass.StaticInnerClass();
static kullanımı, yardımcı sınıflar oluşturmak, ortak verileri depolamak ve sınıf seviyesinde durumu yönetmek için faydalıdır.