Junior
135
questionbank
Что такое приведение типов (casting) в Java?
AI答案
sobes.tech AI
Приведение типов (casting) в Java — это преобразование значения одного типа данных в другой тип данных.
Виды приведения:
- Явное (Explicit Casting): Выполняется программистом с помощью оператора
(тип). Используется для преобразования из "большего" типа в "меньший" (например,doubleвint). Может привести к потере данных.// implicit casting (автоматическое) int a = 10; double b = a; // int to double // explicit casting (явное) double c = 10.5; int d = (int) c; // double to int, d будет равно 10 - Неявное (Implicit Casting / Widening Conversion): Выполняется JVM автоматически, когда происходит преобразование из "меньшего" типа в "больший" (например,
intвdouble). Безопасно, не приводит к потере данных.int x = 10; double y = x; // int automatically cast to double
Приведение типов может быть между примитивными типами или между объектными типами в иерархии наследования.
При приведении объектных типов:
- Upcasting: Приведение подкласса к его суперклассу. Является неявным и безопасным.
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Приведение суперкласса к его подклассу. Требует явного приведения и может вызвать
ClassCastExceptionво время выполнения, если объект на самом деле не является экземпляром целевого подкласса.Animal animal = new Dog(); // Upcasting // Downcasting - требует явного приведения и проверки instanceof if (animal instanceof Dog) { Dog dog = (Dog) animal; // Теперь можно использовать методы специфичные для Dog }