diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java index f95d568647..513f720885 100644 --- a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java +++ b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/Tree.java @@ -1,6 +1,6 @@ package com.baeldung.prototype; -public class Tree implements Cloneable { +public class Tree implements TreeCloneable { private double mass; private double height; @@ -36,7 +36,12 @@ public class Tree implements Cloneable { } @Override - public Tree clone() { + public String toString() { + return "Tree [mass=" + mass + ", height=" + height + ", position=" + position + "]"; + } + + @Override + public TreeCloneable createA_Clone() { Tree tree = null; try { tree = (Tree) super.clone(); @@ -46,9 +51,4 @@ public class Tree implements Cloneable { return tree; } - @Override - public String toString() { - return "Tree [mass=" + mass + ", height=" + height + ", position=" + position + "]"; - } - } diff --git a/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java new file mode 100644 index 0000000000..7767b8de73 --- /dev/null +++ b/patterns/design-patterns-creational/src/main/java/com/baeldung/prototype/TreeCloneable.java @@ -0,0 +1,6 @@ +package com.baeldung.prototype; + +public interface TreeCloneable extends Cloneable { + + TreeCloneable createA_Clone(); +} diff --git a/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java b/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java index 0d06da53d6..ef42d92899 100644 --- a/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java +++ b/patterns/design-patterns-creational/src/test/java/com/baeldung/prototype/TreePrototypeUnitTest.java @@ -15,7 +15,7 @@ public class TreePrototypeUnitTest { Tree tree = new Tree(mass, height); tree.setPosition(position); - Tree anotherTree = tree.clone(); + Tree anotherTree = (Tree) tree.createA_Clone(); anotherTree.setPosition(otherPosition); assertEquals(position, tree.getPosition());