-
public class MyClass { final int x = 2; }
x là
- thức có nghĩa là nó không bao giờ có thể được đặt sau khi khởi tạo.
- Được khởi tạo lúc khai báo có nghĩa là nó không thể có giá trị khác được gán cho nó sau này (ngay cả trong hàm tạo).
- cố định (bất kể trường hợp nào) vì giá trị của nó không thể thay đổi trong hàm tạo (hoặc bất kỳ nơi nào khác thực sự).
Thứ hai ví dụ
public class MyOtherClass { static final int x = 3; }
x là
- thức có nghĩa là nó không bao giờ có thể được thiết lập sau khi khởi tạo.
- Được khởi tạo tại khai báo có nghĩa là nó không thể có giá trị khác được gán cho nó sau này.
- a trường tĩnh và giá trị sẽ luôn giữ nguyên bất kể trường hợp nào.
- hằng số vì cả hai là static và final.
Câu hỏi của tôi là
sự khác biệt giữa hai là gì? (không bao gồm thời gian tạo)
Tôi có thiếu gì đó không?
Đây là câu hỏi đầu tiên của tôi, hãy bình luận về phong cách và nếu tôi có thể ứng biến e nó. – naaz
Nếu bạn khởi tạo biến cuối cùng tại thời điểm khai báo thì có thể là tĩnh ... – assylias
Một sự khác biệt tiềm năng là nguyên thủy 'tĩnh cuối cùng 'không được sử dụng trong thời gian chạy. Trình biên dịch sẽ thay thế tất cả các lần xuất hiện của nó với giá trị trong quá trình biên dịch làm cho nó được tối ưu hóa hơn. – Codebender