Eine gute Antwort könnte sein:

Den vollständigen Konstruktor sehen Sie unten.

Vollständiger Konstruktor

import java.io.* ;

class Auto
{
  // Instanzvariablen
  int startMeilen;   // Anfangsmeilenstand
  int endMeilen;     // Endmeilenstand
  double gallonen;   // verbrauchte Gallonen Benzin
  // Konstruktor
  Auto(  int startTacho, int endTacho, double galls  )
  {
    startMeilen = startTacho;
    endMeilen   = endTacho;
    gallonen    = galls;
  }

  // Methoden
  double berechneMPG()
  {
    return _____________ ;
  }

}

class MeilenProGallone
{
  public static void main( String[] args )
  {
    Auto auto = new Auto( 32456, 32810, 10.6 );
    System.out.println( "Meilen pro Gallonen: "
        + auto.berechneMPG() );
  }
}

Konstruktoren können kompliziert werden; aber für die meisten Programme müssen Sie nichts anderes tun, als die Werte der Parameter in die Instanzvariablen zu kopieren. Sie mögen sich fragen, warum Sie das tun sollen. Warum nicht einfach die Daten in den Parametern lassen? Dafür gibt es zwei Gründe:

  1. Der Parameter kann nur von den Anweisungen innerhalb des Körpers des Konstruktors "gesehen" werden (die Anweisungen zwischen den geschweiften Klammern). Eine Methode wie berechneMPG() kann den Parameter des Konstruktors nicht sehen.
  2. Daten in Parametern sind temporär. Parameter werden verwendet um den Konstruktor Daten zu übermitteln, nicht um Daten bereit zu halten.

Stellen Sie sich einen Parameter als einen Papierfetzen mit Informationen vor, der an den Konstruktor übergeben wird. Der Konstruktor muss die Informationen an irgendeine dauerhafte Stelle kopieren, wo sie von den anderen Methoden gesehen werden können.

FRAGE 10:

Vervollständigen Sie jetzt die berechneMPG() Methode.