我有下面的代码,我希望class My
重写了clone()
函数,它应该可以工作.但打super.clone()
似乎抛出了异常.
class My {
@Override
public My clone() {
My ret = null;
try {
ret = (My)super.clone();
} catch (CloneNotSupportedException e) {
System.out.println("Should not reach here");
e.printStackTrace();
}
return ret;
}
}
public class UseClone implements Cloneable {
public static void main(String[] args) {
My nc = new My();
My n2 = (My) nc.clone();
}
}
它打印:
Should not reach here
java.lang.CloneNotSupportedException: mygroup.My
at java.lang.Object.clone(Native Method)
at mygroup.My.clone(UseClone.java:9)
at mygroup.UseClone.main(UseClone.java:20)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:254)
at java.lang.Thread.run(Thread.java:748)
那么,如何让它发挥作用呢?