什么是用于定义之间的真正区别setXxx(Color.red)和setXxx(Color.RED)?
我在网上找到了以下解释.这是关于命名约定的吗?
Java最初以小写形式定义了一些颜色常量名称,这违反了使用大写字母表示常量的命名规则.它们适用于所有版本的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为常量添加了正确的大写名称: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
Buh*_*ndi 67
代码本身就是:
public final static Color red = new Color(255, 0, 0);
public final static Color RED = red;
Run Code Online (Sandbox Code Playgroud)
大写字母在JDK 1.4中引入(以符合它的命名规则,指出常数必须是大写).
实质上,没有任何区别(字母外壳除外).
如果我真的想要勇敢,那么Oracle可能会疯狂并删除较低容量的常量,但这会破坏JDK 1.4之前编写的所有其他代码.你永远不知道,我建议坚持使用大写字母表示常量.它首先必须被弃用(如Andrew Thompson所述).
Jan*_*yka 21
没有什么区别.看Color课程:
/**
* The color red. In the default sRGB space.
*/
public final static Color red = new Color(255, 0, 0);
/**
* The color red. In the default sRGB space.
* @since 1.4
*/
public final static Color RED = red;
Run Code Online (Sandbox Code Playgroud)