Java写一个Square类 (1)定义一个名为Square的类表示正方形,它有一个名为length的成员变量表示边长,一个带参数的构造方法,要求该类对象能够调用clone()方法进行克隆。覆盖父类
时间: 2024-11-27 10:15:17 浏览: 40
在Java中,你可以创建一个名为`Square`的类来表示正方形,如下所示:
```java
import java.lang.Cloneable;
public class Square implements Cloneable {
// 定义成员变量 - 边长
private double length;
// 构造方法,初始化边长
public Square(double sideLength) {
this.length = sideLength;
}
// 克隆方法实现,遵守Cloneable接口的要求
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
// 访问边长的方法
public double getLength() {
return length;
}
// 设置边长的方法
public void setLength(double sideLength) {
if (sideLength >= 0) { // 确保边长大于等于0
this.length = sideLength;
} else {
throw new IllegalArgumentException("Side length must be positive.");
}
}
// 重写toString方法,用于打印实例信息
@Override
public String toString() {
return "Square [length=" + length + "]";
}
// 示例方法,演示正方形面积计算
public double calculateArea() {
return length * length;
}
}
```
在这个`Square`类中,我们实现了`Cloneable`接口,提供了一个带有参数的构造函数,以及 getter 和 setter 方法来操作边长。注意,`clone()`方法需要抛出`CloneNotSupportedException`,尽管在实际中我们通常不会遇到这种情况,因为Java默认实现了`Cloneable`接口。
阅读全文