Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Các bước đọc static members trong Java class?


Một static variable được tạo tại thời điểm class loading ngay cả trước khi thực thi static block và mục đích của static block là gán giá trị cho static variables. Một static variable lưu giá trị được chia sẻ giữa tất cả instances của class nó được định nghĩa và static block là đoạn code được thực thi khi class lần đầu được load. Nếu muốn logic nào đó thực thi tại thời điểm class loading, logic đó cần đặt trong static block để nó được thực thi tại thời điểm class loading.

JVM tuân theo các bước sau để đọc static members trong class:

  • Nhận diện static members từ trên xuống dưới
  • Thực thi gán static variables và static blocks từ trên xuống dưới.
  • Thực thi main method.

Ví dụ

public class StaticFlow { 
    static int firstNumber = 10; 
    static { 
        firstMethod(); 
        System.out.println("first static block"); 
    } 
    public static void main(String[] args) { 
        firstMethod(); 
        System.out.println("main method executed"); 
    } 
    public static void firstMethod() { 
        System.out.println(secondNumber); 
    } 
    static { 
        System.out.println("second static block"); 
    } 
    static int secondNumber = 20; 
}

Kết quả

0 first static block second static block 20 main method executed