我已经看到Java类java.awt.Color
包含一对具有相同名称的字段,一次用大写字母,一次不用。例如:Color.black
和Color.BLACK
。有区别吗?
修改
......如果没有,为什么还有两个?
答案 0 :(得分:7)
请查看documentation:
public static final Color black
黑色。在默认的sRGB空间中。
public static final Color BLACK
黑色。在默认的sRGB空间中。 自:1.4
不,没有区别。
它们都存在,因为black
已经引入{{1}}类,然后他们意识到它没有遵循命名约定,所以他们添加了大写版本(你可以看到自1.4 写的)。他们没有删除旧的,以免打破任何< 1.4代码。
答案 1 :(得分:5)
除了Color.BLACK
遵循静态最终字段的命名约定之外没有区别。
答案 2 :(得分:2)
从我在源头看到的内容没有区别
public final static Color black = new Color(0, 0, 0);
public final static Color BLACK = black;
答案 3 :(得分:1)
没有区别,但是由于Java编译器没有强制执行大写,但是违反它们被认为是不好的风格。 SO color.BLACK应该是首选,以增加可读性。
答案 4 :(得分:0)