定义一个MyRectangle类,它不但具有Rectangle类所有的功能,它还具有如下功能: (1)重写toString方法。假设当前对象的长和高是3和2,那么toString方法返回“width: 3, height:2” (2)重写equals方法。当两个MyRectangle实例的面积相等时,认为两个对象是相等的 3.3实现Comparable接口,使得MyRectangle对象可以按照面积大小排序 (1)实现Comparable接口,面积作为比较依据 (2)创建MyRectangle类型的数组,每个元素都是MyRectangle对象 (3)通过Arrays.sort方法对MyRectangle对象数组排序,并输出排序后的结果
时间: 2024-03-23 15:37:33 浏览: 57
好的,以下是MyRectangle类的代码实现:
```
import java.awt.Rectangle;
public class MyRectangle extends Rectangle implements Comparable<MyRectangle> {
public MyRectangle(int width, int height) {
super(width, height);
}
@Override
public String toString() {
return "width: " + this.width + ", height: " + this.height;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof MyRectangle) {
MyRectangle other = (MyRectangle) obj;
return this.width * this.height == other.width * other.height;
}
return false;
}
@Override
public int compareTo(MyRectangle other) {
return this.width * this.height - other.width * other.height;
}
}
```
接下来是使用MyRectangle类的代码实现:
```
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
MyRectangle[] rectangles = new MyRectangle[5];
rectangles[0] = new MyRectangle(3, 2);
rectangles[1] = new MyRectangle(2, 5);
rectangles[2] = new MyRectangle(4, 1);
rectangles[3] = new MyRectangle(2, 3);
rectangles[4] = new MyRectangle(5, 1);
Arrays.sort(rectangles);
for (MyRectangle rectangle : rectangles) {
System.out.println(rectangle);
}
}
}
```
在这个示例中,我们创建了一个MyRectangle类型的数组,其中每个元素都是MyRectangle对象。然后,我们使用Arrays.sort方法对MyRectangle对象数组进行排序,排序依据是面积大小。最后,我们遍历排序后的数组,并输出每个元素的toString方法的结果。
阅读全文