statischer und dynamischer Typ

Die Unterscheidung in Deklaration und Definition führt dazu, dass Variable in JAVA zwei verschiedene Typen haben können und zwar

Diese Typen müssen keineswegs beide gleich sein!

Eine interessante Anwendung ergibt sich bei interfaces. Von einem interface kann kein Objekt (keine Instanz) erzeugt werden, da mit einem interface nur beschrieben wird, was eine Klasse, die es implementiert, leisten können muss.

Dennoch kann eine Variable oder der Rückgabetyp einer Methode aber als interface deklariert werden. Wird dieser Variablen nun ein konkretes Objekt zugewiesen, dann muss es zu einer Klasse gehören, die das interface implementiert.

Ein Beispiel:

      Shape tisch = new Ellipse2D.Double(0 , 0, breite, tiefe);

© claus albowski

JAVA
Grundlagen