我一直在四处寻找,但找不到任何东西。一个原因是我不知道从什么开始搜索。:/
所以基本上我在玩颜色,然后我使用System.out.println(java.awt.Color.black)了输出,java.awt.Color[r=0,g=0,b=0]这让我有点惊讶,因为我认为输出会是这样的,java.awt.Color@2a33fae0因为从我可以找到 java.awt.Color 中的“黑色”变量是 java 类型。 awt.Color,为什么以及如何输出?
打印对象引用时得到的是 toString 方法返回的字符串。Color 类定义了一个 toString 方法,该方法产生您在那里看到的输出。
在 java 中,print 语句使用toString类的实现。因此,如果您不实现它,它将使用toStringfrom Object,这就是您获得输出的原因,java.awt.Color@2a33fae0但因为Color它使用toStringfromColor所以您获得了RGB价值。他们只是选择以toString这种方式实现他们可以选择十六进制或任何其他表示形式。