Java 将状态从一个实例转移到另一个实例的更优雅、更高效的方法

Java 将状态从一个实例转移到另一个实例的更优雅、更高效的方法,java,pointers,Java,Pointers,赫敏正在从霍格沃茨战役中恢复过来,并学习用Java进行面向对象编程(见图)。她决定根据自己的经验制作一个游戏 并确定了以下主要实体: 人就是人。巫师也是人 家养小精灵是一种生物 鬼是一种生物 然后,她确定了一些状态和操作: 每个人都有自己的名字 每个人都有父亲和母亲 每个巫师都会施魔法 每个家养小精灵都会表演魔法 每个幽灵都会滑向某个地方 将向导转换为重影可以通过从中复制所有相关状态来实现 将向导实例添加到新创建的重影实例。什么是更优雅的 高效的方法 我是否可以让新创建的重影实例指向向导实例所指

赫敏正在从霍格沃茨战役中恢复过来,并学习用Java进行面向对象编程(见图)。她决定根据自己的经验制作一个游戏 并确定了以下主要实体:

人就是人。巫师也是人

家养小精灵是一种生物

鬼是一种生物

然后,她确定了一些状态和操作:

每个人都有自己的名字

每个人都有父亲和母亲

每个巫师都会施魔法

每个家养小精灵都会表演魔法

每个幽灵都会滑向某个地方

将向导转换为重影可以通过从中复制所有相关状态来实现 将向导实例添加到新创建的重影实例。什么是更优雅的 高效的方法


我是否可以让新创建的重影实例指向向导实例所指向的状态,然后删除向导实例?很抱歉我的英语不好,我在写标题时遇到了麻烦

Java不支持指针

无法删除实例

您可以让重影实例引用向导实例。然而,我怀疑这是家庭作业,当你做家庭作业时,你需要得到预期的答案,而不仅仅是一个有效的答案,因此我建议你按照别人告诉你的那样复制细节


效率是一项要求吗?我怀疑在这项任务中,你不需要担心表现。如果这是一个问题,您能说出性能要求是什么吗?

ghost和向导应该有一些公共数据,您可以将其封装在自己的类中。当您从向导中生成重影时,只需在重影中引用此公共数据。如果删除对向导的所有引用,当运行垃圾收集时,向导将“永远消失”。

这是一个家庭作业问题吗?如果是这样的话,请诚实地给它贴上标签。