class Employee implements Cloneable
{
public Employee clone() throws CloneSupportedException
{
return (Employee)super.clone();
}
}
我不明白为什么调用super.clone()方法能否经过转换后就能生成一个Employee的副本,它不是生成一个object的副本吗?
【public interface Cloneable此类实现了 Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。】
这个句话是什么意思,能否具体说明下!
调用super.clone()等价于object.clone()吗?
super.clone()不就是构造一个object对象的副本吗?为什么能够构造employee对象的副本!
--------------------------
二楼回答的非常好,能否详细解释下super.clone()不能用object.clone()代替吗?
Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,特别是先学c、c++后学java的程序员。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。比如函数参数类型是自定义的类时,此时便是引用传递而不是值传递。以下是一个小例子:
public class A {