如何为已有形状创建新实例(副本)?JavaFX

如何为已有形状创建新实例(副本)?JavaFX,javafx,instance,shapes,Javafx,Instance,Shapes,我有一个形状(不知道它是什么形状),我想创建另一个完全相同的形状 我试过这个(听起来很愚蠢): 形状b=a;(一个我已经有的形状) 以下是实际代码(简化): 这样做的问题是,长方体和形状使用相同的内存空间(它们是相同的!就像,如果你改变一个,你就改变另一个),我不希望这样,我希望不同的形状具有相同的属性。可能有一些方法滥用形状的功能(与覆盖整个形状的矩形相交;与空形状使用union),否则这是这个问题的重复:我强烈建议使用工厂或类似的东西实现复制功能…问题是新形状看起来像我想要的形状,但它不会有

我有一个形状(不知道它是什么形状),我想创建另一个完全相同的形状

我试过这个(听起来很愚蠢):

形状b=a;(一个我已经有的形状)

以下是实际代码(简化):


这样做的问题是,长方体和形状使用相同的内存空间(它们是相同的!就像,如果你改变一个,你就改变另一个),我不希望这样,我希望不同的形状具有相同的属性。

可能有一些方法滥用
形状的功能(与覆盖整个形状的
矩形相交;与空形状使用
union
),否则这是这个问题的重复:我强烈建议使用工厂或类似的东西实现复制功能…问题是新形状看起来像我想要的形状,但它不会有相同的属性。此外,它不是你指出的问题的重复,因为我没有使用fxml生成器。您需要阅读jewelsea答案的第一段。可能有几种方法会滥用
形状的功能(与覆盖整个形状的
矩形相交;使用
联合
与空形状相交),否则这是这个问题的重复:我强烈建议使用工厂或类似的东西实现复制功能…问题是新形状看起来像我想要的形状,但它不会有相同的属性。此外,它不是你指出的问题的重复,因为我没有使用fxml建筑商。你需要阅读jewelsea答案的第一段。
    public class Box extends CenaVisivel {

            public Shape box = null;

            public Box(Shape shape){

                    box = shape;
                    ...
            }
    }