两个构造函数?

Two constructors?

我已经用 setter 和 getter 完成了我的任务(我用 OOD 做了这个)但是我仍然不明白这两个 Rectangle 方法的目的是什么,如果我删除了空的 Rectangle 会提示错误:

P.S。这不是完整代码。

// private double length = 25.0;
private double width = 15.5;

public Rectangle(){

}

public Rectangle(double length, double width){
    this.length = length;
    this.width = width;
}

public void setDimension(double length,double width){
    this.length = length;
    this.width=width;
}

public double getLength(){
    return length;
}

public double getWidth(){
    return width;
}

public double area(){
    return length * width;
}

public double perimeter(){
    return 2 * (length + width);
}

public static void print(){
    Rectangle rt = new Rectangle();
    Box box = new Box();
    System.out.println("The rectangle has a length of " + rt.getLength() + " and a width of " + rt.getWidth() );
    System.out.println("The rectangle has an area of "+ rt.area());
    System.out.println("The rectangle has a perimeter of "+ rt.perimeter());
    box.print();
}

这是默认的(无参数)构造函数。由于您有另一个构造函数,如果您没有明确定义它,Java 将不会 隐式创建它。由于您的 print 方法中的第一行调用它,因此如果您删除它,您将收到一个错误消息。