Учтите это: у вас есть цепочка наследующих классов.каждый может (или не может) иметь свои собственные переменные.то, что делает клон, в отличие от оператора равенства (==), который дублирует ссылку, является клонированной копией объекта с новой ссылкой.В приведенном выше примере вы хотели бы клонировать последний объект в цепочке.Поскольку последний объект построен из своих суперклассов, где у каждого может быть своя реализация метода клонирования, имеет смысл вызывать реализацию суперкласса клона, чтобы получить сначала клонированный родительский объект, прежде чем клонировать собственный объект.
Другими терминами, которые обычно связаны с клонированием, является мелкое и глубокое клонирование.мелкое клонирование относится к созданию точной копии объекта, в то время как глубокое клонирование создает реплику объекта и любого дочернего объекта, на который ссылается исходный объект.
Подробнее о клонировании на эта ссылка