Java 对象克隆错误
有疑问请澄清我 让我解释一下 有两个等级A和BJava 对象克隆错误,java,clone,Java,Clone,有疑问请澄清我 让我解释一下 有两个等级A和B public class A implements Cloneable{ public static void main(String[] args) { A a1 = new A(); try { A a2 = (A) a1.clone();//works fine } catch (CloneNotSupportedException e) {
public class A implements Cloneable{
public static void main(String[] args) {
A a1 = new A();
try {
A a2 = (A) a1.clone();//works fine
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
B b1 = new B();
B b2 = (B) b1.clone();//cannot get this method
}
}
class B implements Cloneable {
}
当我编译这段代码时,出现了以下错误
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method clone() from the type Object is not visible
我知道这两个类都扩展了Java.lang.Object
Class
请解释为什么class B
无法获取clone()
方法该clone()
方法受到保护。由于main是类A
的一部分,它允许对A
类型的对象调用受保护的方法,因此A.clone()
将正常工作
b.clone()
失败,因为clone
受到保护,因此在b
类之外不可用,除非它将被b
公开重写
是关于clone
方法的Javadoc。方法受保护。由于main是类A
的一部分,它允许对A
类型的对象调用受保护的方法,因此A.clone()
将正常工作
b.clone()
失败,因为clone
受到保护,因此在b
类之外不可用,除非它将被b
公开重写
是关于
clone
方法的Javadoc。IIRC您必须实现一些特殊接口以允许克隆。“可克隆”之类的东西,不确定这里没有内部类。IIRC您必须实现一些特殊接口以允许克隆。“可克隆”之类的,不确定这里没有内部类。