设计一个名为Fan的类表示一个风扇。这个类包括:
- 三个名为SlOW、MEDIUM和FAST,其值为1、2和3常量表示风扇的速度。
- 一个名为speed的int类型私有数据域表示风扇的速度(默认值为SLOW)。
- 一个名为on的boolean类型私有数据域表示风扇是否打开(默认值为false)。
- 一个名为radius的double类型私有数据域表示风扇的半径(默认值为5)。
- 一个名为color的string类型数据域表示风扇的颜色(默认值为white)。
- 这四个成员变量(数据域)的访问器和修改器。
- 一个无参构造方法;
- 一个有参构造方法 public Fan(int fanSpeed,boolean fanOn,double fanRadius,String fanColor) { ... },
- 一个名为toString()的方法返回描述风扇的字符串。如果风扇是打开的,那么该方法在一个组合的字符串中返回风扇的速度、颜色和半径。如果风扇没有打开,该方法就会返回一个由"fan is off"和风扇颜色以及半径组合成的字符串。
编写测试程序,创建两个Fan对象:
第一个对象利用无参构造方法构造默认风扇对象Fan1;
第二个对象依据输入的风扇属性,调用有参构造方法构造自定义风扇对象Fan2。
通过调用它们的toString方法显示这些对象。
public class Fan {//定义一个类
int SlOW = 1;//设置默认值
int MEDIUM = 2;
int FAST = 3;
private int speed = SlOW;
private boolean on = false;
private double radius = 5;
private String color = "white";
//无参构造方法:
public Fan() {
}
//有参构造方法:
public Fan(int speed, boolean on, double radius, String color) {
this.speed = speed;
this.on = on;
this.radius = radius;
this.color = color;
}
public int getSpeed() {
return speed;
}
public void setSpeed(int speed) {
this.speed = speed;
}
public boolean isOn() {
return on;
}
public void setOn(boolean on) {
this.on = on;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String toString(){//创建一个String类型的toString方法
if(on == true)
return ("the speed is " + speed + "_________color is " + color + "____________radius is " + radius);
else
return ("fan is off-----------color is " + color + "----------------radius is " + radius);
}
}
public class Fantest {//创建一个测试类
public static void main(String[] args) {
Fan Fan1 = new Fan();//构造一个无参对象
Fan Fan2 = new Fan(2,true,4,"black");//构造一个有参对象
System.out.println(Fan1.toString());//调用用toString()方法打印
System.out.println(Fan2.toString());;
}
}
运行结果: