Какое использование может кому-то переопределить этот метод (getClass())? Какую цель он мог бы решить практически.Где хранится информация, отражающая объект?
В документации по java сказано следующее:
By convention, the returned object should be obtained by calling super.clone. If a class and all of its superclasses (except Object) obey this convention, it will be the case that x.clone().getClass() == x.getClass().
Зачем это так? Что делает эта истина? Где хранится информация, которая знает, какой тип объекта он имеет? Как это работает?
Извините, этот вопрос я удалил и не должен был. Я хотел изменить его. Больше не повторится.
EDIT: Я неправильно понял документацию, она является окончательным Х- (, но я все еще хотел бы задать второй вопрос
Я все еще немного смущен. Почему бы ему не вернуть тот же класс, если цепочка не была задействована? – rubixibuc
@rubixibuc Рассмотрите, что произойдет, если была реализована реализация 'clone()' где-то в цепочке, которая вернула 'new Object()'. Он будет удовлетворять семантике 'clone()', но сломать все остальное в поле зрения. – EJP
, так что это не связано с информацией, хранящейся в объектной части иерархии? Похоже, что ур говорит, что даже вы удовлетворяете семантику, которую она еще может не гарантировать? – rubixibuc