public class Track {int size; int count; Luggage front; Luggage rear}
class Luggage {String name; Luggage next; Luggage prev;}
class Cart {int position; Luggage luggage;}
class Step {
Cart cart;
Track track[];
String moves = "";}
我试图制作一个难以解决问题的程序。为此,我将队列中的元素排队,可以通过STEP进行所有不同的移动。每次转弯可以进行5次不同的移动,STEP保留所有值,但STEP中的值是进一步指向对象的对象。
如何复制对象Step,其中包含对对象内部的进一步引用? (每回合我必须从本回合的STEP中制作5个不同的STEP)
答案 0 :(得分:0)
通常,在Java中,您可以clone()
实现Cloneable
接口的对象。但是,clone()
的默认实现仅执行浅拷贝(例如,如果对象包含数组,则将生成数组的副本,但不包含数组中的元素)。如果您想要执行深度克隆,则必须覆盖clone()
方法以自行执行此操作(您通常希望覆盖clone()
以使其公开,因为它默认受到保护)。