zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

  1. Halten Instanzvariablen eines Objekts die Werte über den ganzen Lebenszyklus eines Objekts?
    • Ja — ein Objekt ist ein "Ding", das einen Zustand hat (eindeutige Merkmale). Der Zustand wird in den Instanzvariablen gehalten.
  2. Halten die Parameter eines Konstruktors die Werte über den ganzen Lebenszyklus eines Objekts?
    • Nein — die Parameter eines Konstruktors sind Teil einer temporären "Mitteilung" an den Konstruktor. Nachdem die Parameter verwendet wurden, gibt es sie nicht mehr.

Mögliche Fehler

Natürlich werden die Daten der "Mitteilung" an den Konstruktor üblicherweise in den Instanzvariablen gespeichert, wo sie verbleiben, bis das Objekt zerstört wird (oder bis die Instanzvariablen absichtlich geändert werden.)

Ist an diesem Programm irgendetwas falsch?

import java.util.Scanner;

class Auto
{
  // Instanzvariablen
  double startMeilen;   // Anfangsstand Tachometer
  double endMeilen;     // Endstand Tachometer
  double gallonen;      // dazwischen verbrauchte Gallonen

  // Konstruktor
  Auto( double startTacho, double endTacho, double galls )
  {
    startMeilen = startTacho ;
    endMeilen   = endTacho ;
    gallonen    = galls ;
  }

  // Instanzmethoden
  double berechneMPG()
  {
    return  (endTacho - startTacho)/galls  ;
  }

}

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

FRAGE 17:

Wir prüfen das Programm. Ist irgendetwas falsch?