Explizit und implizit
Kurz: Explizit heißt ausdrücklich angegeben, implizit heißt stillschweigend vom System ergänzt. Der Gegensatz taucht bei Typumwandlungen, Konstruktoren, Importen und Schnittstellen auf.
Genauer: Explizit schreibt man hin, was passieren soll, und der Leser sieht es. Implizit nimmt einem die Sprache Arbeit ab, kann aber Überraschungen erzeugen.
Im Detail
- Typumwandlung: Implizit (automatisch):
double d = 5;(int wird zu double). Explizit (Cast):int i = (int) 5.7;(gibt 5, Nachkommastellen gehen verloren). - Konstruktor: Hat eine Klasse keinen, legt Java einen impliziten Standard-Konstruktor an.
- Typ-Inferenz:
var x = 5;ist ein impliziter Typ,int x = 5;ein expliziter. - JavaScript: Implizite Umwandlung (
"5" * 2ist 10,"5" + 2ist"52") ist eine Fehlerquelle, daher===und explizite Umwandlung bevorzugen. - Regel: Wo Datenverlust droht, verlangt die Sprache meist ein explizites Cast.
Siehe auch: Konstanten, Char (Zeichen)