2012-04-03 41 views
5

Tại sao có hai hằng số Color được xác định trong lớp java.awt.Color? Ví dụ:Mục đích của java.awt.Color.blue và java.awt.Color.BLUE

public static final Color blue; 
public static final Color BLUE; 

Điều này rõ ràng là không cần thiết. Có một số trường hợp sử dụng cụ thể - như một phương pháp hay nhất khi chữ hoa được ưu tiên hơn màu chữ thường hoặc ngược lại?

+1

cho bản thân mình, tôi luôn thích hằng số UPPER_CASE –

+1

Các hằng số chữ thường được tạo trước tiên trước khi các quy ước đặt tên hoàn toàn được tạo ra. Sau đó, những chữ hoa được tạo ra, nhưng những chữ viết hoa thường được giữ lại cho khả năng tương thích ngược. –

Trả lời

5

Đó là quy ước đặt tên.

Java ban đầu được xác định một vài tên màu không đổi theo chữ thường, trong đó vi phạm quy tắc đặt tên bằng cách sử dụng chữ hoa cho hằng số. Đây là những tốt nhất để sử dụng vì chúng có sẵn trong tất cả các phiên bản của Java: Color.black, Color.darkGray, Color.gray, Color.lightGray, Color.white, Color.magenta, Color.red, Color.pink, Color.orange, Color.yellow, Color.green, Color.cyan, Color.blue

Java 1.4 đã thêm tên viết hoa thích hợp cho các hằng số: Color.BLACK, Color.DARK_GRAY, Color.GRAY, Color.LIGHT_GRAY, Color.WHITE, Color.MAGENTA, Color.RED, Color.PINK, Color.ORANGE, Color.YELLOW, Color.GREEN, Color.CYAN, Color.BLUE

Source

+2

Nhận xét có lẽ? –

+2

@HovercraftFullOfEels - Tại sao lại nhận xét? Đó là câu trả lời cho câu hỏi. –

+0

Trang đó, giống như JavaDocs 1.7 (và có lẽ sớm hơn), hơi sai ở một khía cạnh. Tôi khá chắc chắn nó đã được thực sự 1.4.1 hoặc (nhiều khả năng) 1.4.2 mà giới thiệu các biến thể trường hợp trên. –

3

Họ là đồng nghĩa. Các tên viết hoa được giới thiệu trong Java 1.4 để phù hợp với Sun's naming conventions (xem Phần 9) cho các hằng số.