Objekt über Referenz in Java übergeben [duplizieren]

7

Ist es möglich, Objekt durch Referenz in Java

zu übergeben

Wie in C #

%Vor%     
NDeveloper 18.05.2011, 12:27
quelle

5 Antworten

20

Nein, das ist in Java nicht möglich.

In Java werden alle Argumente für Methoden als Wert übergeben. Beachten Sie, dass Variablen des nicht primitiven Typs, die Verweise auf Objekte sind, auch als Wert übergeben werden: In diesem Fall wird eine -Referenz durch als übergeben. Beachten Sie, dass das Übergeben eines Verweises nach Wert nicht dasselbe ist wie das Durchlaufen eines Verweises.

    
Jesper 18.05.2011, 12:28
quelle
14

Alle Variablen von Objekten sind Referenzen auf das Objekt. Wenn Sie ein Objekt an eine Methode übergeben, übergeben Sie bereits die Referenz des Objekts. Wenn das ursprüngliche Objekt nicht betroffen sein soll, müssen Sie es zuerst klonen.

    
Explosion Pills 18.05.2011 12:29
quelle
3

Nein. Java ist nur pass-by-value.

Sie sollten dies jedoch nicht verlangen. Sie können das Objekt übergeben und seine Felder ändern - dies wird im Aufrufer widergespiegelt.

    
Bozho 18.05.2011 12:28
quelle
2

Sie müssen eine Referenzklasse erstellen. Zum Glück gibt es einen. Sehen Sie sich AtomicReference an. Beachten Sie, dass es für Parallelität gedacht ist, daher ist es möglicherweise nicht geeignet.

Eine andere Idee besteht darin, ein Objekt-Array mit einer Länge von eins zu übergeben.

    
sblundy 18.05.2011 12:31
quelle
0
  

Weitergabe von Referenzdatentypargumenten

     

Referenzdatentyp -Parameter, z   Als Objekte werden auch übergeben   Methoden nach Wert. Dies bedeutet, dass wenn   Die Methode gibt die übergebene zurück   Referenz verweist immer noch auf dasselbe   Objekt wie zuvor. Allerdings die Werte   der Felder des Objekts können geändert werden   in der Methode, wenn sie das Richtige haben   Zugriffsebene.

Quelle: Java-Lernprogramm & gt; Informationen an eine Methode oder einen Konstruktor weiterleiten

    
Sean Patrick Floyd 18.05.2011 12:31
quelle

Tags und Links