定义一个圆类并实现Cloneable接口,可以完成圆的复制操作
时间: 2023-12-20 09:07:19 浏览: 78
实现一个圆类
4星 · 用户满意度95%
以下是一个实现了Cloneable接口的圆类:
```java
public class Circle implements Cloneable {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public Circle clone() throws CloneNotSupportedException {
return (Circle) super.clone();
}
}
```
在上面的代码中,我们定义了一个Circle类,并且实现了Cloneable接口。这使得我们可以使用Java提供的clone()方法来复制Circle对象。
在Circle类中,我们定义了一个私有的radius字段和一个构造函数来初始化它。我们还提供了getter和setter方法来获取和设置radius属性。我们还定义了一个getArea()方法来计算圆的面积。
最后,我们覆盖了Object类中的clone()方法,并将其声明为public。这个clone()方法会返回一个新的Circle对象,该对象与原始对象具有相同的属性值。请注意,我们必须捕获CloneNotSupportedException异常,因为在某些情况下可能无法克隆对象。
阅读全文