class Test {
public static void main(String arg[]) {
System.out.println("**MAIN METHOD");
System.out.println(Mno.VAL); // SOP(9090);
System.out.println(Mno.VAL + 100); // SOP(9190);
}
}
class Mno {
final static int VAL = 9090;
static {
System.out.println("**STATIC BLOCK OF Mno\t: " + VAL);
}
}
static
Sınıf yüklendiğinde bir bloğun çalıştırıldığını biliyorum . Ancak bu durumda örnek değişkeni içinde sınıf Mno
olduğunu final
bundan dolayı, static
blok yürütülmüyor.
Neden böyle? Ve eğer çıkarırsam final
, iyi çalışır mı?
İlk olarak hangi bellek tahsis edilecek, static final
değişken static
mi yoksa blok mu?
Nedeniyle Eğer final
erişim değiştirici sınıf girmiyordu, o zaman nasıl değişken olsun hafıza can?