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

Antwort per Email an