首页 > 解决方案 > 为什么 JavaFX 包含重复的颜色常量?

问题描述

查看JavaFX 11的 API 文档,我发现它包含重复的颜色常量。例如:

如您所见,唯一的区别在于字段名称的拼写,而不是 RGB 值。你知道为什么会有这样的重复吗?

标签: javajavafx

解决方案


你知道为什么会有这样的重复吗?

因为英语中有“灰色”这个词的替代拼写。

这只是对程序员的一种方便。

(在 CSS/HTML 和 X11 之前有这样做的先例。很可能是 JavaFx API 设计者从这些或其他地方借用了这个想法。但是,主要动机是相同的:程序员的方便。)


第二个问题:

Color课堂本身呢 ?颜色还是颜色

不幸的是,它行不通。在 Java 中,以下定义了两个不同的类:

  public class Color {
     // fields, methods
  }

  public class Colour {
     // equivalent fields, methods to above.
  }

这些类不兼容赋值,接受参数的方法Color不会接受Colour参数,反之亦然。(您可以将一个声明为另一个的子类,但最终仍会出现类型不对称,这会使其中一个类在实践中不可取。)

Java 没有办法实现类型别名。


推荐阅读