Java 复写不知道哪里出错了

两个小题是连在一起的,第一应该没错吧,第二不会写,我写的应该是错。

1.首先给Rectangle的两个属性增加getter和setter方法

public class Rectangle{
    protected double length;
    protected double height;
    public double sqr(){
        return length*height;
    }
    public double getLength(){
        return length;
    }
    public void setLength(double length){
        this.length=length;
    }
    public double getHeight(){
        return height;
    }
    public void setHeight(double height){
        this.height=height;
    }
    public double cc(){
        return 2*(length+height);
    }
}

2.在Square里复写这两个属性的setter方法,使得正方形永远能保持,具体做法就是只要设置一条边,另一条边也设置成这个值。

public class Square extends Rectangle{
    public void setLength(double length){
        this.length=length;
    }
    public void setHeight(double height){
        this.height=height;
    }
}

 

试下 super.length

首先1里面,两个属性的getset方法熟悉了快捷键就好了。你自己写的两个方法命名要规范啊。

第二个,要实现保持正方形,你写一个方法传一个参数,分别给长和宽赋值同一个参数不就可以了吗