gpt4 book ai didi

java - 在 Java 中创建克隆函数而不抛出 CloneNotSupportedException 异常

转载 作者:搜寻专家 更新时间:2023-11-01 04:02:14 24 4
gpt4 key购买 nike

作为作业的一部分,我们被要求使用clone 方法实现一个抽象类。给出函数的框架:

/**
* @effects Creates and returns a copy of this.
*/
public Object clone() {
// TODO: Implement this method


}

Shape 类有两个字段:

private Point location;
private Color color;

根据说明,我们被告知该方法不会抛出 CloneNotSupportedException 异常,并且还会询问为什么会这样。在我们在 Internet 上看到的所有示例中,clone 方法都会抛出 CloneNotSupportedException

能否请您指出此克隆方法不应抛出该异常的原因。

我们写的方法是:

/**
* @effects Creates and returns a copy of this.
*/

public Object clone() {
Shape new_shape = (Shape)super.clone();
new_shape.setColor(this.getColor());
new_shape.location = (Point)location.clone();
return new_shape;


}

它在 (Shape)super.clone() 部分给我们一个错误,说:

未处理的异常类型 CloneNotSupportedException,我们应该如何创建克隆方法?

最佳答案

你的类应该实现 Clonable界面。

您也可以使用 Covariant Return Types为了返回形状/点而不是对象。这有助于您避免不必要的类型转换。

关于java - 在 Java 中创建克隆函数而不抛出 CloneNotSupportedException 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8609186/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com