Arkadaşlarımdan biri, hangisinin ilk statik değişken veya statik bloğu yükleyeceğini sordu.İlk statik değişken veya statik blok yüklenecek?
Yanıtım statik değişkene işaret ediyor.
yüzden bana iki denklemler verdi ve aralarındaİlk Denklem
public class Some {
public static void main(String args[])
{
System.out.println(Some.x);
}
static {
System.out.println(Some.x);
}
static int x=90;
}
O/P ayırt etmek söyledi: 0 90
İkinci Denklem
public class Some {
public static void main(String args[])
{
System.out.println(Some.x);
}
static int x=90;
static {
System.out.println(Some.x);
}
}
O/P: 90 90
Bayt kodunu derlemeye çalıştım ve yukarıdaki denklem için de aynı olduğunu buldum. Lütfen aralarında ayrım yapmama yardım edin. Statik değişken başlatıldığında kafam karıştı.
Statik nesneler, sırayla, sınıfta tanımlandığı sırayla yürütülür. –
Bayt kodunun aynı olduğundan emin misiniz? Deklarasyonların farklı bir sırayla ortaya çıkmasını beklerdim ve @Sudhanshu'nun belirttiği gibi deklarasyon kararı önemlidir. –
@PatriciaShanahan ya denklem bayt kodu için aynıdır. – Hablu