Найти в Дзене
DEBAGanov

Java 720. Какие преобразования называются нисходящими и восходящими?

Преобразование от потомка к предку называется восходящим, от предка к потомку — нисходящим.

Нисходящее преобразование должно указываться явно с помощью указания нового типа в скобках.

Преобразование типов в Java может быть либо нисходящим (downcasting), либо восходящим (upcasting).

Нисходящее преобразование происходит, когда объект класса преобразуется в объект класса-наследника. Например:

Animal animal = new Cat();
// upcasting, преобразуем объект класса Cat в объект класса Animal
Cat cat = (Cat) animal;
// downcasting, преобразуем объект класса Animal обратно в объект класса Cat

Восходящее преобразование происходит, когда объект класса-наследника преобразуется в объект класса-родителя. Например:

Cat cat = new Cat();
// создаем объект класса Cat
Animal animal = cat;
// upcasting, преобразуем объект класса Cat в объект класса Animal

Во время нисходящего преобразования необходимо явное приведение типа, т.к. объект класса-наследника содержит дополнительные методы и поля, которых нет в родительском классе. Поэтому перед использованием этих методов и полей необходимо преобразовать объект к типу класса-наследника.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov

Наука
7 млн интересуются