Version:Test
©Raddy 2002

Java IV                                                     ZURÜCK

Call by Value
a-absatz.pcx (280 Byte)
Anmerkung zur Argument-Übergabe
Wir hatten gesagt, daß man lokale Variablen
von einer Methode an die andere weitergeben 
kann. Dabei ist wichtig anzumerken:
Bei der Übergabe einer Variablen wird nicht 
die Variable selbst übergeben, sondern nur 
eine Kopie dieser Variable,d.h. Änderungen an der
Kopie bewirken keine Änderungen am Orginal!
    
a-absatz.pcx (280 Byte)
Programm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Uebergabe
{
  public static void main(String args[])
  {
    int a=100;
    System.out.println(a);
    test(a);
    System.out.println(a);
  }
  static void test(int a)
  {
    a=200;
    System.out.println(a);
  }
}
a-absatz.pcx (280 Byte)
Ausgabe
100
200
100
a-absatz.pcx (280 Byte)
Erklärung
Das Programm besteht aus einer Klasse, die aus
zwei Methoden besteht: main und test.

In Zeile 5 wird die Variable a mit 100 initialisiert, und in
Zeile 6 angezeigt. Die Variable hat den Wert 100.

In Zeile 7 springen wir in die Methode "test". Dort wird
a auf 200 geändert und angezeigt.

In Zeile 8 wird dann a ausgegeben, doch a hat wieder
den Wert 100! Der Grund ist, wie gesagt, daß in Zeile 7
ja nur eine Kopie von a übergeben wird, die lokale
Variable a der main-Methode aber unverändert bleibt.

Man nennt eine derartige Übergabe "call by value", 
weil nur der Wert (value) der Variablen übergeben wird,
die ursprüngliche Variable aber nicht geändert wird.