Am Montag 14 August 2006 15:14 schrieb Andreas Pakulat: > On 14.08.06 10:24:36, Christian Frommeyer wrote: > > einer Referenzvariable kann man nur Referenzen zuweisen. Das ist > > völlig Analog zu C++. > > Jaein, in C++ kannst du nicht
Ok, der Vergleich muss hier zu C++-Zeigern gehen nicht zu Referenzen, weil Java und C++ Referenzen leider gleich heißen aber nicht das gleiche sind. > > stehen. Pointer gibt es in Java aber nicht, ergo geht das auch > > nicht. > > Nunja, von der Bedeutung her sind C++ Pointer und Java Referenzen > schon vergleichbar. Vergleichbar, aber eben nicht das gleiche. > > > In Java ist das "new" IMHO völlig überflüssig und macht die > > > Sprache uneinheitlich. > > > > Das ist offensichtlich falsch. > > Nein ist es nicht. Du hast selbst festgestellt dass int ein Wert ist > und nicht mittels new erzeugt werden kann. Objekte hingegen koennen > nicht einfach als Werte erzeugt werden. Java muesste also nur pruefen > ob der Typ einer Variablen ein Werttyp oder eine Klasse ist. Mit dem gleichen Argument kann man das in C++ auch behaupten. Dann da darf man einem Zeiger auch nicht direkt einen int zuweisen (auch wenn man natürlich casten kann aber das bekommt der Compiler ja wieder mit) und einer Objektvariable keinen Zeiger. Der Punkt ist aber: * Objekte werden immer gleich behandelt * Werte werden immer gleich behandelt Es gibt also keine Uneinheitlichkeit (an dieser Stelle) Eine Designentscheidung bei Java war IIRC syntaktisch nahe an C++ zu bleiben, um Entwicklern den Umstieg leicht zu machen. Da wäre es extrem verwirrend das new zu streichen. Es ist also auch nicht überflüssig. > Dafuer hat man bis 1.5 gebraucht um statische Typsicherheit in > Containern zu gewaehrleisten ;-) Wenn man Typsicherheit bei expliziten Casts fordert (und das tut man, wenn man behauptet die alten Container wären nicht Typsicher) dann ist Java auch mit 1.5 nicht Typsicher, denn auch da kann man sich mit expliziten Casts ins Bein schießen. Gruß Chris -- A: because it distrupts the normal process of thought Q: why is top posting frowned upon