私は当惑しています、私は何か非常にばかげたことをしていると思います、私はそれを見ることができません!
セントラルヒーティングコントロール:
RadiatorクラスとRadiatorSizeクラス。Radiator には、クラス RadiatorSize の size インスタンス変数があります。ラジエーターのサイズには XSMALL、... XLARGE があります。RadiatorSize で public enum として定義されています。
そこで、新しいラジエーターを作成し、MEDIUM サイズにすることを考えています。
size = new RadiatorSize(RadiatorSize.Size.MEDIUM);
Netbeans は私にこれを教えてくれます:
...\CentralHeating\src\hardwaremodel\Radiator.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 がヒントを与えてくれます。私が同意すると、次のようになります。
public RadiatorSize(Size size) {
throw new UnsupportedOperationException("Not yet implemented");
}
エディターに小さな赤い円がなくなりましたが、なんと...!
私は困惑しています。