Java Language Coulée d'objets


Exemple

Comme pour les primitives, les objets peuvent être exprimés explicitement et implicitement.

La diffusion implicite se produit lorsque le type de source étend ou implémente le type cible (conversion vers une super-classe ou une interface).

Le transtypage explicite doit être effectué lorsque le type de source est étendu ou implémenté par le type cible (conversion en sous-type). Cela peut générer une exception d'exécution ( ClassCastException ) lorsque l'objet en cours de diffusion n'est pas du type cible (ou du sous-type de la cible).

Float floatVar = new Float(42.0f);
Number n = floatVar;                //Implicit (Float implements Number)
Float floatVar2 = (Float) n;        //Explicit
Double doubleVar = (Double) n;      //Throws exception (the object is not Double)