【发布时间】:2017-08-02 19:06:12
【问题描述】:
我正在为 Color 类中的对象编写访问器。我想返回与对象关联的红色、绿色和蓝色值的总和。有没有办法调用我创建的对象的参数?
这是我迄今为止尝试过的无济于事......
// Sample //
int red = 200;
int green = 51;
int blue = 76;
Color c = new Color(red, green, blue);
System.out.println(c.red);
System.out.println(c.green);
System.out.println(c.blue);
// The above gives a compile error //
【问题讨论】:
-
请显示
Color来源 -
这个颜色 c = new Color(red, green, blue) 还是这个 System.out.println(c.red);引起问题?
-
请注意,
c.red确实不指向颜色对象的内部红色值。而是指向常量Color对象,该对象代表全红色(255, 0, 0)。该变量是static,因此它应该被Color.red引用而不是c.red,因为它不是c对象的成员,而是Color类的成员。如果您想访问c对象的红色属性,那么您应该使用c.getRed()。请注意,Color还为各种颜色定义了其他常量,例如Color.BLACK或Color.LIGHTBLUE。 -
对于未来的问题,请始终包括确切的错误消息。它包含代码的哪一部分实际引发错误的信息。