Gostaria de receber uma explicação contextualizada sobre upcasting e downcasting em Java. Se possível com exemplos.
O que é Upcasting e Downcasting ? - em Java
2 Respostas
Solucao aceita
1 like
Um exemplo prático, considere as duas classes abaixo:
public class TipoGenerico {}
public class TipoEspecifico extends TipoGenerico {}
Aí, em algum lugar você possui um objeto de cada uma dessas classes:
TipoGenerico objetoGenerico = new TipoGenerico();
TipoEspecifico objetoEspecifico = new TipoEspecifico();
E el agum método você quer referenciar estes objetos em outras variáveis:
// upcasting, acontece implicitamente, pois o compilador sabe que objetos do TipoEspecifico estendem a classe TipoGenerico
TipoGenerico variavelGenerica = objetoEspecifico;
// downcasting, necessita de cast explícito, pois o compilador não tem como saber se o objeto referenciado pela variável genérica é um objeto específico ou não
// E também só é possível se de fato a variavelGenerica possui uma referência à um objeto do TipoEspecifico
// se a variavelGenerica possuísse uma referência à um objeto do TipoGenerico, ocorreria ClassCastException em tempo de execução
TipoEspecifico variavelEspecifica = (TipoEspecifico) variavelGenerica;
Criado 25 de abril de 2019
Ultima resposta 25 de abr. de 2019
Respostas 2
Participantes 3
Alura O que é Python? — um guia completo para iniciar nessa linguagem de programação Acesse agora o guia sobre Python e inicie sua jornada nessa linguagem de programação: o que é e para que serve, sua sintaxe e como iniciar nela!
Casa do Codigo Engenharia de Prompt para Devs: Um guia para aprender a... Por Ricardo Pupo Larguesa — Casa do Codigo