我有两节课。 Color.java和Light.java,我正在尝试使用Light类中的Color成员。不使用Light类中的任何其他属性(我只需要下面的两个。) 我为Color类编写了一个toString方法,getter和setter。和一个复制构造函数。 我只是没有在这里写。 这是一个练习。我无法在Light中使用extends或任何其他私人成员。 奇怪的运动。(他们没有写我不能使用延伸。他们只是没有说任何关于它)
public class Color
{
private int red;
private int green;
private int blue;
public Color(){
red = 0;
green = 0;
blue = 0;
}
}
我有Light类
public class Light
{
private Color color1;
private boolean switchedon;
public Light(int red, int green, int blue){
//dont know what to write here . how can i use the members of the Color class here ? without using extends. and without adding another attributes.
}
}
答案 0 :(得分:4)
将Color
更改为另一个采用颜色值的构造函数
public class Color
{
private int red;
private int green;
private int blue;
public Color(){
red = 0;
green = 0;
blue = 0;
}
public Color(int red, int green, int blue) {
this.red = red;
this.green = green;
this.blue = blue;
}
}
提供setter(和getters)来更改属性......
public class Color
{
private int red;
private int green;
private int blue;
public Color(){
red = 0;
green = 0;
blue = 0;
}
public void setRed(int red) {
this.red = red;
}
public void setGreen(int green) {
this.green = green;
}
public void setBlue(int blue) {
this.blue = blue;
}
public void getRed() {
return red;
}
// Other getters for green and blue...
}
两者都做......
从Light
扩展Color
,但您仍然需要在Color
答案 1 :(得分:0)
通过为颜色字段提供颜色和/或getter和setter的构造函数:
Color(int red, int green, int blue) {
this.red = red;
etc....