zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Erster Wert der lokalen Variablen zahl : 7
Wert des Parameters: 7
Zweiter Wert der lokalen Variablen zahl : 7

Änderungen des formalen Parameters haben keine Auswirkung auf den Aufrufer

Hier ist noch einmal das Programm mit einer kleinen Änderung. Jetzt führt die aufgerufene Methode ausgeben() eine Änderung an ihrem formalen Parameter x (ihrer Kopie des Werts) durch.

class EinfacheKlasse
{
  public void ausgeben( int x )
  {
    System.out.println("Erster Wert des Parameters: " + x );
    x = 100;       // lokale Änderung des formalen Parameters
    System.out.println("Zweiter Wert des Parameters: " + x );
  }
}

class EinfachTester
{
  public static void main ( String[] args )
  {
    int zahl = 7;
    EinfacheKlasse einfach = new EinfacheKlasse();

    System.out.println("Erster Wert der lokalen Variablen zahl : " + zahl );
    einfach.ausgeben( zahl );
    System.out.println("Zweiter Wert der lokalen Variablen : " + zahl );
  }
}

Erinnern Sie sich daran, dass hier Call-By-Value verwendet wird. Das bedeutet, dass die Parameter verwendet werden, um Werte an eine Methode zu übergeben, aber sie werden nicht verwendet, um etwas an den Aufrufer zurückzugeben.

FRAGE 4:

Was ist jetzt die Ausgabe des Programms?

Erster Wert der lokalen Variablen zahl : 
Erster  Wert des Parameters: 
Zweiter Wert des Parameters: 
Zweiter Wert der lokalen Variablen zahl :