Speicherplatz für beliebige Objekte wird stets statisch, auf Basis des zur Übersetzungszeit bekannten Typs angelegt. Variablen eines Basistyps können darum immer nur Objekte vom Basistyp aufnehmen.
Will man mit Objekten diverser abgeleiteter Typen arbeiten, dann müssen diese über Zeiger angesprochen werden.