为什么java.awt.Color返回RGB值?

时间:2018-11-30 17:35:10

标签: java awt

我一直在搜索,却找不到任何东西。原因之一是我不知道该开始搜索什么。 :/

所以基本上我是在玩各种颜色,然后我使用System.out.println(java.awt.Color.black)并且输出是java.awt.Color[r=0,g=0,b=0],这让我感到惊讶,因为我认为输出类似于java.awt.Color@2a33fae0,因为我可以在java.awt.Color中找到'black'变量,类型为java.awt.Color,这是为什么以及如何将其输出?

2 个答案:

答案 0 :(得分:2)

打印对象引用时得到的是toString方法返回的String。 Color类定义了一个toString方法,该方法生成您在此处看到的输出。

答案 1 :(得分:1)

在Java中,print语句对类使用toString实现。因此,如果您不实现它,它将使用toString中的Object,这就是为什么您会得到类似java.awt.Color@2a33fae0的输出,但是对于Color来说,它使用的是{{ 1}}来自toString,因此您获得了Color的值。他们只是选择以这种方式实施RGB,就可以选择十六进制或任何其他表示形式。