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);
}
}
staticSı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 Mnoolduğunu finalbundan dolayı, staticblok 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 finaldeğişken staticmi yoksa blok mu?
Nedeniyle Eğer finalerişim değiştirici sınıf girmiyordu, o zaman nasıl değişken olsun hafıza can?