Statik Değişken Java

⚡ Akıllı Özet

Statik Değişken Java Bu, herhangi bir nesneye değil, sınıfa aittir ve sınıf yüklendiğinde bir kez başlatılır. Tek bir paylaşılan kopya, tüm örneklere hizmet eder ve nesne oluşturmaya gerek kalmadan doğrudan sınıf adı üzerinden erişilebilir.

  • ???? Statik Değişken: Sınıfa aittir, tüm örneklerde tek bir kopyası paylaşılır ve yükleme sırasında bir kez başlatılır.
  • ⚙️ Statik Yöntem: Sınıfa aittir, yalnızca statik verilere erişebilir ve this/super özelliklerini dikkate almaz.
  • 🧱 Statik Blok: Sınıf yüklendiğinde statik veri üyelerini başlatmak için bir kez çalışır.
  • 🔗 erişim: Statik üyelere, nesne kullanmadan doğrudan ClassName.member üzerinden erişebilirsiniz.
  • Kısıtlama: Statik bir metot, statik olmayan (örnek) değişkenlere doğrudan referans veremez.

Statik Değişken Java

Statik şunlar olabilir:

  1. Statik Değişkenler
  2. Statik Yöntemler
  3. Statik Bloklar Code.

Önce statik değişkenlere ve statik yöntemlere bakalım.

Statik Değişken Nedir? Java?

Statik değişken Java Statik değişken, sınıfa ait olan ve yalnızca yürütmenin başlangıcında bir kez başlatılan bir değişkendir. Nesneye (örneğe) değil, sınıfa ait bir değişkendir. Statik değişkenler yalnızca bir kez, yürütmenin başlangıcında başlatılır. Bu değişkenler, herhangi bir örnek değişkeninin başlatılmasından önce başlatılır.

  • Sınıfın tüm örnekleri tarafından paylaşılacak tek bir kopya
  • Statik bir değişkene doğrudan sınıf adıyla erişilebilir ve herhangi bir nesneye ihtiyaç duyulmaz.

Sözdizimi:

<class-name>.<variable-name>

Statik Yöntem Nedir? Java?

Statik yöntem Java nesneye değil sınıfa ait olan bir yöntemdir. Statik bir yöntem yalnızca statik verilere erişebilir. Nesneye (örneğe) değil, sınıfa ait olan bir yöntemdir. Statik bir yöntem yalnızca statik verilere erişebilir. Statik olmayan verilere erişemez (örnek değişkenler).

  • Statik bir yöntem yalnızca diğer statik yöntemleri çağırabilir ve kendisinden statik olmayan bir yöntemi çağıramaz.
  • Statik bir yönteme doğrudan sınıf adıyla erişilebilir ve herhangi bir nesneye ihtiyaç duymaz.
  • Statik bir yöntem hiçbir şekilde "bu" veya "süper" anahtar kelimelere atıfta bulunamaz

Sözdizimi:

<class-name>.<method-name>

Not: main yöntemi statiktir, çünkü herhangi bir örnekleme gerçekleşmeden önce bir uygulamanın çalışması için erişilebilir olması gerekir.

Bazı alıştırmalar yaparak statik anahtar kelimelerin nüanslarını öğrenelim!

Örnek: Statik değişkenler ve yöntemler nasıl çağrılır

) 1 Adım Aşağıdaki kodu bir düzenleyiciye kopyalayın

public class Demo{
   public static void main(String args[]){
     Student s1 = new Student();
     s1.showData();
     Student s2 = new Student();
     s2.showData();
     //Student.b++;
     //s1.showData();
  }
}

class Student {
int a; //initialized to zero
static int b; //initialized to zero only when class is loaded not for each object created.

  Student(){
   //Constructor incrementing static variable b
   b++;
  }

   public void showData(){
      System.out.println("Value of a = "+a);
      System.out.println("Value of b = "+b);
   }
//public static void increment(){
//a++;
//}

}

) 2 Adım Kodu kaydedin ve derleyin. Kodu şu şekilde çalıştırın: Java Demosu.

) 3 Adım Beklenen çıktı aşağıda gösterilmiştir


Java Statik Yöntemler ve Değişkenler

Aşağıdaki diyagram, referans değişkenlerinin ve nesnelerinin nasıl oluşturulduğunu ve statik değişkenlere farklı örnekler tarafından nasıl erişildiğini göstermektedir.


Java Statik Yöntemler ve Değişkenler

) 4 Adım Sözdizimini kullanarak sınıfın dışından statik bir değişkene erişmek mümkündür. ClassName.Variable_Name. 7 ve 8 numaralı satırların yorumunu kaldırın. Kaydet, Derle ve Çalıştır. Çıktıyı gözlemleyin.

Value of a = 0
Value of b = 1
Value of a = 0
Value of b = 2
Value of a = 0
Value of b = 3

) 5 Adım Yorum satırı 25,26 ve 27'yi kaldırın. Kaydet, Derle ve Çalıştır.

	 error: non-static variable a cannot be referenced from a static context a++; 

) 6 Adım Hata = ? Bunun nedeni “örnek değişkenine erişimin mümkün olmamasıdır”a” Java statik sınıf yönteminden”artım".

Statik Blok Nedir? Java?

MKS statik blok bir ifadenin içindeki bir ifade bloğudur Java Bir sınıf ilk kez yüklendiğinde yürütülecek sınıf JVM. bir statik blok, statik veri üyelerinin başlatılmasına yardımcı olurTıpkı yapıcıların örnek üyelerini başlatmaya yardımcı olması gibi.

class Test{
 static {
 //Code goes here
 }
}

Aşağıdaki program Java statik bloğunun bir örneğidir.

Örnek: Statik bloğa nasıl erişilir

public class Demo {
 static int a;
 static int b;
 static {
    a = 10;
    b = 20;
 }
 public static void main(String args[]) {

  System.out.println("Value of a = " + a);
  System.out.println("Value of b = " + b);

 	}
}

Programın çıktısını aşağıdaki gibi alacaksınız.

Value of a = 10
Value of b = 20

SSS

Statik değişken sınıfa aittir ve tüm nesneler için paylaşılan tek bir kopyası bulunur. Örnek değişken ise her nesneye aittir ve nesne oluşturulduğunda başlatılan, örnek başına ayrı bir kopyası bulunur.

Hayır. Statik bir metot yalnızca statik verilere ve diğer statik metotlara erişebilir. Statik bir bağlamdan statik olmayan (örnek) bir değişkene referans vermek derleme hatasına neden olur, çünkü henüz hiçbir nesne mevcut değildir.

Statik blok, sınıf JVM'ye ilk kez yüklendiğinde, herhangi bir nesne oluşturulmadan veya main metodu çalıştırılmadan önce bir kez çalışır. Statik veri üyelerini başlatmak için kullanılır.

Yapay zeka, bir alanın veya yöntemin nasıl kullanıldığını analiz edebilir ve verilerin tüm örnekler arasında paylaşıldığı durumlarda veya örnek durumuna ihtiyaç duyulmadığında statik çözümler önerebilir.ping Geliştiriciler gereksiz nesnelerden kaçınır ve bellek kullanımını azaltır.

Evet. Yapay zeka destekli analiz, iş parçacığı güvenliği sorunlarına, gizli küresel bağımlılıklara veya test zorluklarına neden olan değiştirilebilir statik durumları işaretleyebilir ve örnek alanlar veya bağımlılık enjeksiyonu gibi daha güvenli alternatifler önerebilir.

Bu yazıyı şu şekilde özetleyin: