Eine gute Antwort wäre:

  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.)

Hier ist ein interessantes Programm. Ist irgendetwas falsch?

import java.io.* ;

class Auto
{
  // Instanzvariablen
  int startMeilen;   // Anfangsmeilenstand
  int endMeilen;     // Endmeilenstand
  double gallonen;   // dazwischen verbrauchte Gallonen

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

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

}

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

FRAGE 17:

Begutachten Sie das Programm. Ist irgend etwas falsch?         

Inhaltsverzeichnis