Como a conversão de objeto Java funciona atrás da cena? [duplicado]
Duplicata Possível:
Como o operador de conversão de Java funciona?
Implementação de Java casting
Eu sempre me pergunto como o casting de objetos funciona em Java. Eu entendo que para o tipo primitivo será mais parecido com o nível de representação binária, mas e quanto ao Object? É como se fossePolymorphism
oudynamic binding
em que tudo será determinado em tempo de execução? Por exemplo:
class Parent{
void A(){}
}
class Child extends Parent{
@Override
void A(){}
}
Parent p = new Parent();
Child c = (Child) p;
Como isso funciona nos bastidores? Cria uma nova instância deChild
? E também, o que acontece se você tentar transmitir:
Child b = (Child) new Object();
E por último, ao lançar um primitivo para uma classe wrapper:
Double d = (Double) 3.3;
Eu sei que você não precisa necessariamente para lançá-lo, mas e se você fizer isso? Existe alguma coisa significativa que aconteça no backend?