Nein. Das Programm wird nicht kompilieren.
anzeigen()
MethodeHier ist der Output des Compilers für das fehlerhafte Programm:
compiling: BankkontoTester.java BankkontoTester.java:55: No method matching inkrementZaehler() found in class Bankkonto. bobsKonto.inkrementZaehler(); ^ BankkontoTester.java:56: Variable zaehler in class Bankkonto not accessible from class BankkontoTester. 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 gut 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 Bankkonto { private String kontonummer; private String kontoinhaber; private int kontostand; private int zaehler = 0; . . . . void anzeigen() { System.out.println( kontonummer + "\t" + kontoinhaber + "\t" + kontostand ); } }
Wir ändern die Methode, so dass sie auch die Variable zaehler
ausgibt.