我在Java中有一个问题:
我有一个界面:
public interface I extends Cloneable {
}
Run Code Online (Sandbox Code Playgroud)
和抽象类:
public abstract class AbstractClass {
private I i;
public I i() {
return (I)(i).clone();
}
}
Run Code Online (Sandbox Code Playgroud)
但clone()的使用会产生以下错误:
对于类型I,方法clone()未定义
有没有人有任何想法如何解决这个问题?我找到的唯一修复是向我添加一个新方法:(我newI())将克隆我是否有更清洁的解决方案?
谢谢.
您需要覆盖该clone()方法才能公开
public interface MyI extends Cloneable {
public MyI clone();
}
Run Code Online (Sandbox Code Playgroud)
相当奇怪的是,Cloneable实际上并不包含该clone()方法并且clone()正在protected开启Object!之前已经讨论过 SO
| 归档时间: |
|
| 查看次数: |
4125 次 |
| 最近记录: |