Nein. Das Programm wird nicht kompilieren.
Hier ist der Output des Compilers für das fehlerhafte Programm:
compiling: KontoTester.java
KontoTester.java:55:
No Methode matching inkrementZaehler() found in class KontoChecker.
bobsKonto.inkrementZaehler();
^
KontoTester.java:56:
Variable zaehler in class KontoChecker not accessible from class KontoTester.
bobsKonto.zaehler = 15;
^
2 errors
Die main() Methode kann weder die private Variable zaehler verwenden,
noch kann sie die private Methode inkrementZaehler() verwenden.
Diese können nur von anderen Methoden des Objekts verwendet werden.
Die main() Methode kann die Methode bobsKonto.verarbeiteAuszahlung( ) verwenden, die nicht privat ist.
Diese wiederum kann die private Methode inkrementZaehler() verwenden.
Das ist OK.
Es wäre schön, eine anzeigen() Methode in dieser Klasse zu haben,
die zaehler zeigt, genauso wie die anderen Daten.
Hier ist die anzeigen() Methode des vorherigen Kapitels:
class KontoChecker
{
private String kontoNummer;
private String kontoInhaber;
private int kontoStand;
private int zaehler = 0;
. . . .
void anzeigen()
{
System.out.println( kontoNummer + "\t" + kontoInhaber + "\t" + kontoStand );
}
}