IMG-LOGO

Java Statik blok


Java programlama dili, ana yöntemin(main) yürütülmesinden önce çalışan statik olarak bilinen bir blok sunar. Aşağıda işlevini anlamak için bir örnek hazırladık. Daha sonra pratik kullanımını göreceğiz.


class StaticBlock {
  public static void main(String[] args) {
    System.out.println("Main metod yürütüldü.");
  }
 
  static {
    System.out.println("Statik blok main metoddan önce yürütüldü.");
  }
}

Ana blok yürütülmeden önce koşulları kontrol etmek için statik bir blok kullanılır. Uygulamamızın yalnızca Windows işletim sisteminde çalıştığını varsayalım. Bir kullanıcının hangi işletim sistemini kullandığını kontrol etmeliyiz. Kullanıcı "Windows" dışında bir işletim sistemi kullanıyorsa, program sonlandırılır.

class StaticBlock {
  public static void main(String[] args) {
    System.out.println("Windows_NT işletim sistemi kullanıyorsunuz.");
  }
 
  static {
    String os = System.getenv("OS");
    if (os.equals("Windows_NT") != true)
      System.exit(1);
  }
}

Bağımsız değişken olarak geçirdiğimiz bir ortam değişkeninin değerini döndüren System sınıfının getenv yöntemini kullanıyoruz. Windows_NT, Windows XP, Vista, Windows 7, Windows 8 ve diğerlerini içeren bir işletim sistemleri ailesidir.