|
|
1
4
问题是,由于shallowcopy()是kitItem的成员,所以memberWiseClone()只是复制kitItem字段并返回kitItem,即使原始对象是packagekitItem。 我认为在这种情况下,你必须做的是增加KitItem:
在PackageKittem中:
因此,根据您尝试的对象shallowcopy(),您将完成正确的memberWiseClone()调用。 如果您想更进一步,可以在产品(返回产品)中定义一个shallow copy(),然后在kitem和packagekitem中重写版本,每个版本都返回各自的shallow copy。 |
|
|
2
1
奇怪的是,在Visual Studio 2008上执行此操作时没有出现错误。我发布代码是为了让你看到我遗漏了什么或者我假设了什么错误。我的猜测是问题出在你没有发布的某个班级成员身上。
|
|
|
3
0
在你的产品构造中,你已经在做某种形式的肤浅复制了,不是吗?如果您还没有覆盖构造函数,那么您应该能够创建一个新的packagekittem,它接收一个kitem作为其参数。
也许我误解了你的问题。 |
|
|
Naruto Biju Mode · 如何在java中正确执行深层和浅层拷贝 11 年前 |