Przerabiam sobie książkę "Java - rusz głową" i tam jest taki przykład:
class Perkusja {
boolean talerze = true;
boolean beben = true;
void zagrajNaBebnie() {
System.out.println("bam, bam, baaaa-am-am");
}
void zagrajNaTalerzach() {
System.out.println("brzdk, brzrzrzdk");
}
}
class PerkusjaTester {
public static void main(String[] args) {
Perkusja p = new Perkusja();
p.zagrajNaBebnie();
p.beben = false;
p.zagrajNaTalerzach();
if (p.beben == true) {
p.zagrajNaBebnie();
}
}
}
Tak więc: do czego w ogóle służą mi tutaj zmienne boolean? Dlaczego nie mogę wpisać po prostu "p.zagrajNaBebnie();" i "p.zagrajNaTalerzach();"? Zastanawia mnie to tym bardziej, że instrukcja if pojawia się tylko dla bębna. Co stałoby się, gdyby między wywołaniem metod "zagraj" nie byłoby tego "p.beben = false"? Czy program "grałby" wtedy na bębnie przez cały czas? A dlaczego nie ma analogicznego "p.talerze = false"? I - swoją drogą - dlaczego instrukcja if pojawia się dopiero po wywołaniu jednej i drugiej metody? (To ostatnie pytanie wynika już pewnie z mojej skrajnej ignorancji w kwestii składni, ale zadaję je, żeby już wszystko było do kompletu...)
Swoją drogą - na githubie znalazłam taką czyjąś wersję, gdzie między wywołaniem metod NIE MA "p.beben = false", ale wciąż pojawia się deklaracja zmiennych boolean. Podałabym linka, ale forum wyrzuca, że muszę napisać min 1 post, żeby umieszczać linki - spróbuję może tak, usuwając kropki: github com/miguelalba-old/Head-First-Java/blob/master/ch2/DrumKitTestDrive.java