Cloneable

Cloneableは、複製可能を示すインターフェース。

Cloneable (Java Platform SE 6)
Javaクローンメモ(Hishidama's Java Cloneable Memo)

ちょっと書き方が正しくなかったので修正。

Cloneableが無い状態で、super.clone(Object.clone)を呼ぶと、CloneNotSupportedExceptionが発生するのが前提。
その上で、Cloneableを付けて、その代わりthrowsを外した。
ただし、super.cloneの外はtryで囲み、例外はInternalError。

これで、MainClassでtryは必要なくなった。

obj1.toString() = CustomObject[str = ABC, value = 123]
obj2.toString() = CustomObject[str = XYZ, value = 789]
obj1.toString() = CustomObject[str = ABC, value = 123]

変わらない。

Sample/java/Cloneable/Cloneable/src/Cloneable at master · bg1bgst333/Sample · GitHub