Zitat von sauzachn
Das soll man aber eh nicht tun. Ein Array ist eine Sammlung von Objekten vom gleichen (Basis-)Typ.
Ja, java.lang.Object
Verschiedene Objekte in ein Array reinzustecken kann recht praktisch sein, wenn man zB ein struct ersetzen will.
Zitat
Ja, das stimmt natürlich. Aber ein JVM Update wäre wohl nicht wirklich schwierig durchzusetzen gewesen. Bei C# funktionierts ja auch.
C# verwendet auch noch kein Schwein. Bei Java gibts eine viel zu große installed user base. Ist schon schwer genug, so auf 1.5 umzusteigen (mein Hoster hat zB immer noch 1.4.2 laufen, 1.5 ist in gentoo immer noch unstable, etc).
Zitat
Hm. Die Dynamik ist in der Tat sehr versteckt. Nach klassischer Definition halte ich Java für keine dynamische Sprache. Jedenfalls nicht in der Liga von Smalltalk. Java ist viel zu stark typisiert für eine echte dynamische Sprache. Auch noch viele andere Dinge werden statisch überprüft (ob es bestimmte Methoden gibt, welche Argumente die übernehmen usw.).
Es wird zwar geprüft, aber das ist nur zur einfacheren Fehlersuche für den Programmierer, man muss nicht. Mit reflection kann man zur Laufzeit rausfinden, welche Methoden ein Objekt hat, welche Parameter diese haben, und diese dann auch aufrufen. Das ist in C++ undenkbar, da kannst du eine Methode gar nicht aufrufen, wenn du nicht genau über sie bescheid weißt zur Compilezeit.