Допустим, у меня есть суперкласс A с интерфейсом clone и глубоким переопределенным методом клонирования.Общий метод клонирования java override
У меня также есть подкласс Б.
B Temp = new B();
B Temp_Clone = (B) Temp.clone();
Метод Temp.clone() возвращает ссылку на клонирован супер класса А, верно?
С моей точки зрения, я не могу поставить ссылку на суперкласс в объекте подкласса, правильно?
Так как же возможен код, который я здесь написал? из-за литья?
Спасибо.
Почему вы не удаляете кастинг, чтобы увидеть, возвращает ли компилятор ошибку или не узнает о вашем последнем вопросе? в любом случае, я полагаю, что если вы это сделаете, вы получите ошибку компиляции; кастинг необходим при ссылке на суперобъект с помощью ссылочной переменной под-объекта. и посмотрите на @EJP ответ ниже, который я считаю лучшим ответом на ваши вопросы. –