downcasting

Se dice del caso en el que una variable de tipo B recibe el valor de una variable de tipo A.

A a = ...;;

B b = (B)a;   // explícito; es necesario

 

Esta operación sólo se puede hacer, si el objeto referenciado por “a” es realmente de tipo B; es decir, sólo es posible cuando el downcasting deshace un upcasting anterior. De lo contrario se provoca un error en tiempo de ejecución, lanzándose una excepción de tipo ClassCastException.

factible

ClassCastException

A a = new B();

B b = (B)a;

A a = new A();

B b = (B)a;

 

Temas relacionados

25. Casting (concepto)