Java :super.clone ()метод и наследование

У меня есть небольшой вопрос относительно метода clone()в Java, используемого как super.clone()в отношении наследования -, где я вызываю метод clone()в родительском классе на всем пути от кнопки.

Предполагается, что метод clone()возвращает копию этого объекта, однако, если у меня есть три класса в иерархии наследования и я вызываю super.clone()три раза, почему не самый высокий класс в иерархии наследования, непосредственно под классом Object, вернуть копию этого класса?

Предположим, у нас есть три класса :A, B и C, где A -> B -> C (inherit = ->)

Затем вызов super.clone()в классе C вызывает clone()в B, который вызывает super.clone(), вызывает clone()в A, который вызывает super.clone()«на этот раз вызывается Object.clone ()». Почему это не копия объекта thisпо отношению к классу A, который возвращается из Object.clone()? Это звучит логично для меня.

13
задан pb2q 10 August 2012 в 16:26
поделиться