-1
我只是想知道實例變量是如何工作的,但它讓我感到奇怪。聲明對象的布爾值,不會改變他的值
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();
}
}
}
這怎麼可能,它輸出: 「嘭嘭BA-爆炸 頂頂大鼎 嘭嘭BA-砰」
而不是:「棒棒BA-爆炸 丁丁大定「
因爲我認爲是網羅只會播放一次,因爲我在d.playSnare()之後聲明它。 to d.snare = false;