我一直在搜索,却找不到任何东西。原因之一是我不知道该开始搜索什么。 :/
所以基本上我是在玩各种颜色,然后我使用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,这是为什么以及如何将其输出?
答案 0 :(得分:2)
打印对象引用时得到的是toString方法返回的String。 Color类定义了一个toString方法,该方法生成您在此处看到的输出。
答案 1 :(得分:1)
在Java中,print语句对类使用toString
实现。因此,如果您不实现它,它将使用toString
中的Object
,这就是为什么您会得到类似java.awt.Color@2a33fae0
的输出,但是对于Color
来说,它使用的是{{ 1}}来自toString
,因此您获得了Color
的值。他们只是选择以这种方式实施RGB
,就可以选择十六进制或任何其他表示形式。