java – 将Enum成员传递给构造函数:“实际和形式参数列表的长度
发布时间:2020-12-15 05:09:57 所属栏目:Java 来源:网络整理
导读:我很困惑,我认为我做的事情非常愚蠢,我只是看不到它! 中央供暖控制: Radiator类和RadiatorSize类. Radiator有一个size实例变量,它是Class RadiatorSize.我有XSMALL,…… XLARGE用于散热器的尺寸;在RadiatorSize中定义为公共枚举. 所以,我在想,创造一个新的
我很困惑,我认为我做的事情非常愚蠢,我只是看不到它!
中央供暖控制: Radiator类和RadiatorSize类. Radiator有一个size实例变量,它是Class RadiatorSize.我有XSMALL,…… XLARGE用于散热器的尺寸;在RadiatorSize中定义为公共枚举. 所以,我在想,创造一个新的散热器并给它一个MEDIUM尺寸. size = new RadiatorSize(RadiatorSize.Size.MEDIUM); Netbeans告诉我这个: ...CentralHeatingsrchardwaremodelRadiator.java:17: error: constructor RadiatorSize in class RadiatorSize cannot be applied to given types; size = new RadiatorSize(RadiatorSize.Size.MEDIUM); required: no arguments found: Size reason: actual and formal argument lists differ in length 1 error 这是违规的课程. /** Radiator class **/ package hardwaremodel; import units_constants.RadiatorSize; public class Radiator { private int boilerSequence; private RadiatorSize size; private double volume; //cubic centimetres public void Radiator(int blrSqnc) { boilerSequence = blrSqnc; size = new RadiatorSize(RadiatorSize.Size.MEDIUM); //ERROR HERE } } /** RadiatorSize class **/ package units_constants; public class RadiatorSize { public enum Size {XSMALL,SMALL,MEDIUM,LARGE,XLARGE}; private Size size; public void RadiatorSize(Size sz) { size = sz; } } 现在,Netbeans给了我一个提示,它建议在units_constants.RadiatorSize中创建Constructor RadiatorSize(units_constants.RadiatorSize.Size);当我同意时它会这样做: public RadiatorSize(Size size) { throw new UnsupportedOperationException("Not yet implemented"); } 现在编辑器中现在没有小红圈,但是……! 我很困惑. 解决方法
您正在尝试将其用作构造函数:
public void RadiatorSize(Size sz) { size = sz; } 因为这不是构造函数,而是void方法,你的新RadiatorSize(Size.MEDIUM);尝试调用没有参数的标准构造函数.知道这一点,给出的错误信息是完全有道理的;) 只是摆脱void返回类型,它应该工作正常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 智能卡 – 恩智浦有Java卡吗?
- 使用包含不完整类型的`std :: vector`递归定义和访问`boost
- java-me – J2ME app和手机上的浏览器
- 没有系统调用的* * nix sync()的Java实现
- Java将Stack trace发送到不同的输出流
- java – 使用泛型在抽象类中实现常用方法
- java – log4j ConversionPattern时间戳,以微秒为单位
- 12-01 Java Scanner类,Scanner类中的nextLine()产生的换行
- java – DecimalFormat在其他机器上的工作方式不同
- java – JUnit:调用@After将对象设置为Null