class Employee implements Cloneable
{
...
public Object clone() throws CloneNotSupportedException
{
Employee cloned =(Employee)super.clone();
cloned.hireday=(Date)hireday.clone();
....
return cloned;
}
...
}
这里clone了一个Object对象,返回一个引用,将它转化为Employee类的引用,这里子类引用就指向了父类对象,那按理说,父类对象应该没有子类对象的实例啊,那为什么可以调用cloned.hireday?
求大神解释?
------解决方案--------------------
在运行时刻,Object中的clone()识别你要复制的是哪一个对象
protected native Object clone() throws CloneNotSupportedException;
native的