5

可能重复:
Color.red 和 Color.RED 之间的区别

我已经看到 Java 类java.awt.Color包含几个具有相同名称的字段,一次是大写字母,一次不是。例如:Color.blackColor.BLACK。有区别吗?

编辑:

……如果不是,为什么会有两个?

4

5 回答 5

8

只需看一下文档

public static final Color black

颜色黑色。在默认的 sRGB 空间中。


public static final Color BLACK

颜色黑色。在默认的 sRGB 空间中。自:1.4

不,没有区别。

它们都存在是因为black已经在Color类中引入,然后他们意识到它没有遵循命名约定,所以他们添加了大写版本(你可以看到从 1.4 开始编写)。他们没有删除旧的以不破坏任何 < 1.4 的代码。

于 2012-06-25T11:23:00.450 回答
5

Color.BLACK遵循静态最终字段的命名约定没有区别。

于 2012-06-25T11:24:19.897 回答
3

从我在源代码中看到的没有区别

public final static Color black     = new Color(0, 0, 0);
public final static Color BLACK = black;
于 2012-06-25T11:24:05.347 回答
1

但是没有区别,因为 Java 编译器不强制使用大写字母,但违反它们被认为是不好的风格。所以 color.BLACK 应该首选增加可读性。

于 2012-06-25T11:26:28.973 回答
0

Color类的字段的描述来看,完全没有区别。

1)颜色.黑色

2)颜色.黑色

于 2012-06-25T11:23:29.717 回答