У меня есть небольшой вопрос относительно метода 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()
? Это звучит логично для меня.