Erklärung
Wie haben gesagt, daß man "Kopien" einer Klasse erzeugen
kann, und daß man diese Objekte nennt.
Nun stellt sich eine wichtige Frage:
Wenn man solch eine Kopie einer Klasse erstellt, erhält
die Kopie alle Argumente und Methoden der Klasse?
Kurz gesagt: Fehlt in der Klassendefinition das Wort static
vor einem Variablennamen fehlt, wird die Variable in die
Objekte kopiert, allerdings wird ihr der Objektname vorangestellt:
Das Wort "static" steht vor dem Variablennamen:
Steht das Wort static vor dem Variablennamen, so wie bei
der Variablen steuersatz, werden keine Kopien der Variablen
steuersatz in den Objekten erzeugt. Die Variable steuersatz
ist also nur einmal vorhanden, sie ist Klassenvariable.
Das Wort "static" steht nicht vor dem Variablennamen:
Steht das Wort static nicht vor dem Variablennamen, so wie
bei der Variablen endsumme, werden Kopien der Variable
in den Objekten erzeugt, die man Objektvariablen nennt.
Weil es nun mehrere Variablen mit Namen endsumme gibt,
muß man immer den Objektnamen vor die Variablen schreiben,
wenn man die Variable anspricht:
Also Müller.endsumme anstatt endsumme
Wichtig: In der Variablen endsumme selbst können dann
aber keine Daten mehr gespeichert werden, sonderen nur in
den Kopien: Müller.endsumme und Walter.endsumme
(Aus diesem Grund ist die Variable endsumme im Bild
auch grau gezeichnet).