我正在学习CSIS1410类,作为作业的一部分,我需要创建一个枚举,电压。然后,我必须创建一个使用枚举作为参数的类,但是当尝试使用参考可变电压(小写v)时,它给出了错误“电压无法解析为变量”。下面是枚举:
public enum Voltage
{
V110, V220, DUAL;
}下面是使用上述枚举的类
public class DeskPhone extends Phone
{
public boolean connected;
protected DeskPhone(String modelArg, Dimensions dimenstion, Voltage voltage) //enum as parameter
{
super(modelArg, dimenstion);
}
public void plugIn()
{
connected = true;
}
public void unPlug()
{
connected = false;
}
public boolean isConnected()
{
return connected;
}
@Override
public String toString()
{
if(connected == false)
{
return super.toString() + " " + voltage + " not connected"; //results in error
}
return super.toString() + " " + voltage + " connected";
}为什么我不能将构造函数传递给“电压”变量中的任何东西存储起来,并在toString语句中使用它?
发布于 2020-02-20 08:40:23
因为构造函数参数只在构造函数中可见,所以您需要将它们绑定到类字段才能在函数中使用它们:
还可以考虑使用Lombok来减少样板
public boolean connected;
private Voltage voltage;
protected DeskPhone(String modelArg, Dimensions dimenstion, Voltage voltage)
{
super(modelArg, dimenstion);
this.voltage = voltage;
}https://stackoverflow.com/questions/60311338
复制相似问题