多个构造函数和 if 语句
multiple Constructors and if Statement
我想在我的摘要中 class
定义两个构造函数。
当创建 class
的新实例时,我希望 toString 为 return 不同的内容,具体取决于调用的内容:
消防车Class
public class FireEngine extends EmergencyVehicle {
private String colour;
public FireEngine(String colour) {
super (colour);
}
public FireEngine() {
this("red");
}
public String toString () {
if (colour == "red") {
return "red";
} else
return "no";
}
}
EmergencyVehicle
class:
public abstract class EmergencyVehicle extends RoadVehicle {
public boolean codeBlue = false;
public EmergencyVehicle(String colour){
super(colour);
}
public boolean isEmergency () {
if (codeBlue == true) {
return true;
} else {
return false;
}
}
public void setEmergency(boolean newEmergency) {
codeBlue = newEmergency;
}
}
这是一个家庭作业,所以我不想要答案本身,但是上面的代码有意义吗?
例如,如果我添加一个新的 EmergencyVehicle,我需要一个 if 语句,这取决于我添加的车辆是什么颜色。
第一个备注
不要打电话
this("red");
在默认构造函数中,做
colour = "red";
除非 EmergencyVehicle(String colour)
RoadVehicle(String colour)
构造函数正在做其他事情。
第二个备注
不比较使用
if (colour == "red")
使用
if ("red".equals(colour))
第三个备注
方法
public String toString()
应该是 return 实例的字符串表示形式。您仅实施 returns red
或 no
,这不是很有用。使用像
这样的东西
return("FireEngine(colour=" + colour + ")");
我想在我的摘要中 class
定义两个构造函数。
当创建 class
的新实例时,我希望 toString 为 return 不同的内容,具体取决于调用的内容:
消防车Class
public class FireEngine extends EmergencyVehicle {
private String colour;
public FireEngine(String colour) {
super (colour);
}
public FireEngine() {
this("red");
}
public String toString () {
if (colour == "red") {
return "red";
} else
return "no";
}
}
EmergencyVehicle
class:
public abstract class EmergencyVehicle extends RoadVehicle {
public boolean codeBlue = false;
public EmergencyVehicle(String colour){
super(colour);
}
public boolean isEmergency () {
if (codeBlue == true) {
return true;
} else {
return false;
}
}
public void setEmergency(boolean newEmergency) {
codeBlue = newEmergency;
}
}
这是一个家庭作业,所以我不想要答案本身,但是上面的代码有意义吗?
例如,如果我添加一个新的 EmergencyVehicle,我需要一个 if 语句,这取决于我添加的车辆是什么颜色。
第一个备注
不要打电话
this("red");
在默认构造函数中,做
colour = "red";
除非 EmergencyVehicle(String colour)
RoadVehicle(String colour)
构造函数正在做其他事情。
第二个备注
不比较使用
if (colour == "red")
使用
if ("red".equals(colour))
第三个备注
方法
public String toString()
应该是 return 实例的字符串表示形式。您仅实施 returns red
或 no
,这不是很有用。使用像
return("FireEngine(colour=" + colour + ")");