.定义一个名为Square的类表示正方形,它有一个名为length的成员变量表示边长、一个带参数的构造方法;覆盖父类的equals()方法,当边长相等时认为两个Square对象相等,覆盖父类的toString()方法,要求当调用该方法时输出Square对象,格式为Square[length=100],这里100是边长,编码实现上述功能;
代码文件命名:Square.java
// 定义Square类表示正方形
public class Square {
private double length; // 成员变量表示边长
// 带参数的构造方法
public Square(double length) {
this.length = length;
}
// 覆盖父类的equals()方法
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Square square = (Square) o;
return Double.compare(square.length, length) == 0;
}
// 覆盖父类的toString()方法
@Override
public String toString() {
return "Square[length=" + length + "]";
}
// 测试代码
public static void main(String[] args) {
Square square1 = new Square(100);
Square square2 = new Square(200);
Square square3 = new Square(100);
// 测试equals()方法
System.out.println("square1.equals(square2):" + square1.equals(square2)); // false
System.out.println("square1.equals(square3):" + square1.equals(square3)); // true
// 测试toString()方法
System.out.println("square1:" + square1); // Square[length=100]
}
}
运行结果如下: