Den vollständigen Konstruktor sehen wir unten.
import java.util.Scanner; class Auto { // Instanzvariablen double startMeilen; // Anfangsstand Tachometer double endMeilen; // Endstand Tachometer double gallonen; // verbrauchte Gallonen Benzin // Konstruktor Auto( double startTacho, double endTacho, double galls ) { startMeilen = startTacho; endMeilen = endTacho; gallonen = galls; } // Instanzmethoden double berechneMPG() { return ; } } class MeilenProGallone { public static void main( String[] args ) { Auto auto = new Auto( 300, 400, 2.5 ); System.out.println( "Meilen pro Gallonen: " + auto.berechneMPG() ); } }
Konstruktoren können kompliziert werden; aber für die meisten Programme müssen wir nichts anderes tun, als die Werte der Parameter in die Instanzvariablen zu kopieren.
Wir könnten uns fragen, warum wir das tun sollen. Warum nicht einfach die Daten in den Parametern lassen? Dafür gibt es zwei Gründe:
berechneMPG()
kann die Parameter des Konstruktors nicht sehen.Wir stellen uns 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.