tôi đang học Java và viết mã đơn giản dưới đây:Gán một biến tĩnh trước khi tuyên bố
public class Test {
private int a = b;
private final static int b = 10;
public int getA() {
return a;
}
}
public class Hello {
public static void main(String[] args) {
Test test = new Test();
System.out.println(test.getA());
}
}
Kết quả: 10. Làm tốt! Nó chạy thành công và không có lỗi.
Có ai vui lòng giải thích tại sao tôi có thể gán biến tĩnh trước khi khai báo không?
bản sao có thể có của [Thứ tự các biến lớp Java được khởi tạo là gì?] (Http://stackoverflow.com/questions/2138801/in-what-order-are-java-class-variables-initialised) – Joe
thành viên tĩnh là đã được khởi tạo khi lớp đã được nạp trước khi tạo bất kỳ cá thể nào của nó. – Braj
Bạn có ý gì với "chỉ định trước khi khai báo"? "int b" tuyên bố, "= 10" chỉ định, vì vậy bạn khai báo trước khi bạn chỉ định. Hoặc bạn có nghĩa là sử dụng trước khi khai báo? –