Wert übergeben: Grundlegende Datentypparameter übergeben
Kopieren Sie den Codecode wie folgt:
öffentliche Klasse PassValue{
statischer leerer Austausch (int a, int b){// Statische Methode, tauschen Sie die Werte von a und b aus
int temp;
temp = a;
a = b;
b = Temperatur;
}
public static void main(String[] args){
int i = 10;
int j = 100;
System.out.println("before call: " + "i=" + i + "/t" + "j = " + j);//before call
Exchange(i, j); //Wertübertragung, die Hauptmethode kann nur statische Methoden aufrufen
System.out.println("after call: " + "i=" + i + "/t" + "j = " + j);//After call
}
}
Laufergebnisse:
Kopieren Sie den Codecode wie folgt:
vor Aufruf: i = 10 j = 100
nach Aufruf: i = 10 j = 100
Hinweis: Beim Aufruf von Exchange (i, j) übergeben die tatsächlichen Parameter i und j ihre Werte an die entsprechenden formalen Parameter a bzw. b. Wenn die Methode Exchange () ausgeführt wird, ändern sich die Werte des Formals Die Parameter a und b haben keinen Einfluss auf die tatsächlichen Parameter. Die Werte von i und j haben sich vor und nach dem Aufruf nicht geändert.
Übergabe als Referenz --- Objekt als Parameter
Kopieren Sie den Codecode wie folgt:
Klassenbuch{
Stringname;
privater Folatpreis;
Book(String n, float){ //Konstruktionsmethode
Name = n;
Preis = p;
}
static void change(Book a_book, String n, float p){ //Statische Methode, Objekt als Parameter
a_book.name = n;
a_book.price = p;
}
public void output(){ //Instanzmethode, Objektinformationen ausgeben
System.out.println("name: " + name + "/t" + "price: " + price);
}
}
öffentliche Klasse PassAddr{
public static void main(String [] args){
Buch b = neues Buch("java2", 32.5f);
System.out.print("before call:/t"); //Vor dem Aufruf
b.output();
b.change(b, "c++", 45.5f); //Referenzübertragung, Referenz von Objekt b übertragen, Wert von Objekt b ändern
System.out.print("after call:/t"); //Nach dem Aufruf
b.output();
}
}
Laufergebnisse:
Kopieren Sie den Codecode wie folgt:
Vor dem Anruf: Name: Java2 Preis: 32,5
nach Aufruf: Name:c++ Preis:45,5
Hinweis: Beim Aufruf von change(b,"c++",45.5f) wird Objekt b als tatsächlicher Parameter verwendet und die Referenz an den entsprechenden formalen Parameter a_book übergeben. Tatsächlich zeigt a_book auch auf dasselbe Objekt , das Objekt hat zwei Referenznamen: b und a_book. Bei der Ausführung der Methode change() ist die Operation am Formalparameter a_book die Operation am Aktualparameter b.