我需要为我的班级配备多态克隆(深拷贝),即我需要这样的东西才能工作:
SuperType original = new SubType();
SuperType copy = original.clone();
whereoriginal.clone()可以被任何机制替代以创建深层副本,并且实际类型copy应为SubType,因为original也是SubType.
clone()方法和接口是Cloneable实现这一目标的唯一方法吗?工厂方法和复制构造函数不能被使用,因为实际的类只在运行时才知道,对吧?除了那些序列化反序列化方法以及恕我直言的Java深度克隆库比该方法更糟糕的黑魔法之外,还有其他建议的clone()方法吗?
谢谢,彼得