Java。只是没有像在C ++中那样隐式地调用它们,我怀疑这是您的真正问题。
首先,复制构造函数无非是:
public class Blah { private int foo; public Blah() { } // public no-args constructor public Blah(Blah b) { foo = b.foo; } // copy constructor}现在,C ++将使用以下语句隐式调用复制构造函数:
Blah b2 = b1;
在这种情况下,克隆/复制在Java中根本没有意义,因为所有b1和b2都是引用,而不是像C 中那样的值对象。在C
中,该语句复制对象的状态。在Java中,它只是复制 引用 。对象的状态不会被复制,因此隐式调用复制构造函数没有任何意义。
这就是全部。



