Heim >Java >JavaErste Schritte >So übergeben Sie Parameter in Java-Parametern
Es gibt zwei Möglichkeiten, Parameter an Unterprogramme in Computersprachen zu übergeben:
Call-by-Value: Diese Methode kopiert einen Parameterwert in einen formalen Parameter des Unterprogramms . Auf diese Weise wirken sich Änderungen an den Parametern des Unterprogramms nicht auf die Parameter des Aufrufs aus.
Call-by-Reference: Bei dieser Methode wird die Referenz des Parameters (anstelle des Parameterwerts) an den Unterprogrammparameter übergeben, und in der Unterroutine wird die Referenz verwendet, um auf den Aufruf zuzugreifen Parameter angegeben. Auf diese Weise wirken sich Änderungen an den Unterprogrammparametern auf die Parameter des aufrufenden Unterprogramms aus.
Wenn Sie in Java einen einfachen Typ an eine Methode übergeben, wird dieser als Wert übergeben. Daher haben Änderungen an den Parametern einer Unterroutine, die Parameter empfängt, keine Auswirkungen außerhalb der Methode. Schauen Sie sich bitte das folgende Beispiel an:
package toSzifucuan; class Teshks{ void meth(int i, int j) { i*=2; j/=2; } } public class CallByValue { public static void main(String[] args) { Teshks oob=new Teshks(); int a=15, b=20; System.out.println("a和b初始值:"+a+" "+b); oob.meth(a, b); System.out.println("a和b在计算后的值:"+a+" "+b); } }
Das vom Programm ausgegebene Ergebnis ist:
Anfangswerte von a und b: 15, 20
Die berechneten Werte von a und b :15,20
Es ist ersichtlich, dass die in meth() ausgeführten Operationen keinen Einfluss auf die Werte von a und b im Aufruf haben.
Dies ändert sich, wenn Sie ein Objekt an Ihre Methode übergeben, da Objekte per Referenz übergeben werden. Denken Sie daran, dass Sie beim Erstellen einer Variablen vom Typ „Klasse“ lediglich einen Verweis auf die Klasse erstellen. Wenn Sie diesen Verweis an eine Methode übergeben, zeigt der Parameter, der ihn akzeptiert, auf dasselbe Objekt, auf das der Parameter zeigt. Dies ist ein starker Beweis dafür, dass das Objekt über einen Referenzaufruf an die Methode übergeben wird. Änderungen an den Objekten in diesem Objekt wirken sich auf das Objekt als Parameter aus. Zum Beispiel:
package toSzifucuan; class Teshks{ int a, b; public Teshks(int i, int j) { a=i; b=j; } void meth(Teshks oo) { oo.a*=2; oo.b/=2; } } public class CallByValue { public static void main(String[] args) { Teshks oob=new Teshks(15,20); System.out.println("a和b初始值:"+oob.a+" "+oob.b); oob.meth(oob); System.out.println("a和b在计算后的值:"+oob.a+" "+oob.b); } }
Das von diesem Programm gedruckte Ergebnis ist:
Anfangswerte von a und b: 15, 20
Die berechneten Werte von a und b: 30, 10
In diesem Beispiel wirken sich die Operationen in meth() auf das Objekt als Parameter aus.
Wenn eine Objektreferenz an eine Methode übergeben wird, wird die Referenz selbst per Call-by-Value übergeben. Da der übergebene Wert jedoch auf ein Objekt zeigt, zeigt die Kopie des Werts immer noch auf dasselbe Objekt, auf das das entsprechende Argument zeigt.
Hinweis: Verwenden Sie die Wertübergabe, wenn Sie einen einfachen Typ an eine Methode übergeben. Objekte werden als Referenz übergeben.
Die chinesische PHP-Website bietet eine große Anzahl kostenloser JAVA-Einführungs-Tutorials, die jeder gerne lernen kann!
Das obige ist der detaillierte Inhalt vonSo übergeben Sie Parameter in Java-Parametern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!