当我尝试克隆一个通用对象时,我得到编译时错误.为什么?
Object obj=new Object();
obj.clone(); // Here compile time error "The method clone() from the type Object is not visible"
Run Code Online (Sandbox Code Playgroud)
每个类都扩展了Object类,而clone方法在Object类中受到保护.
protected方法可以在同一个包中访问,也可以在subclasses所有类中使用java.lang.Object.
因为在课堂clone上受到保护Object.事实并非如此public.
访问对象clone()方法的唯一方法是知道它具有一个具有公共clone()方法的编译时类型.
这将是克隆工作的最低限度:
public class SubObj implements Cloneable {
public Object clone() { return super.clone(); }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10295 次 |
| 最近记录: |