I was just figuring out how instance variables are working, but it lead me to something strange.
public class DrumKit {
boolean topHat = true;
boolean snare = true;
void playTopHat() {
System.out.println("ding ding da-ding");
}
void playSnare(){
System.out.println("bang bang ba-bang");
}
}
public class DrumKitTestDrive {
public static void main(String [] args) {
DrumKit d = new DrumKit();
d.playSnare();
d.snare = false;
d.playTopHat();
if (d.snare == true);{
d.playSnare();
}
}
}
How is it possible that it outputs: "bang bang ba-bang ding ding da-ding bang bang ba-bang"
And not: "bang bang ba-bang ding ding da-ding"
Because what I thought was that the snare only would play once because I'm declaring it after d.playSnare(); to d.snare = false;