01/10/2018, 11:55
Constants in java
mn có thể trả lời giúp mình khi nào nên khai báo hắng số trong interface (Case 2) thay cho class (Case 1) không ?
vd :
public class A{ //case 1
public static final NUM_BER =100;
}
public interface B{ //case 2
public static final NUM_BER = 100;
}
Bài liên quan
Thì khi cái thông tin đấy nó liên quan đến cái interface B thì cho vào B còn khi nó liên quan đến A thì cho vào A.
PS bạn viết thiếu type và NUMBER viết liền nhé.
Như nhau thôi, dùng cách nào cũng được. Nhưng mình hay dùng cách 1, cách 2 cũng thấy có người dùng và cũng ko vấn đề gì. Đợt trước có search google thì thấy có chỗ bảo cách 2 là “bad practice”
Chào bạn!
Mặc định các biến của Interface là static final , bạn không cần phải khai báo 1 cách tường minh là static và finale. Bởi vì Interface không thể khởi tạo được đối tượng với từ khóa new nên static final để đảm bảo rằng các biến này sẽ được gán 1 giá trị duy nhất tại thời điểm Interface được nạp. và không thể thay đổi giá trị. Khi nào nên dùng static final ở case 1 và case 2, thì điều đó tùy thuộc vào nghiệp vụ bài toán bạn cần giải quyết; nếu bạn chỉ cần khai báo các constants như các các thông tin cấu hình dùng chung cho hệ thống , bạn có thể sử dụng case1 ; còn case 2 sẽ được sử dụng khi nghiệp liên quan đế các vấn kế thừa và triển khai ở các lớp dẫn xuất Interface.