Java 在对象上声明布尔值,不';我不能改变他的价值观
我只是想弄清楚实例变量是如何工作的,但这让我想到了一些奇怪的事情Java 在对象上声明布尔值,不';我不能改变他的价值观,java,instance-variables,Java,Instance Variables,我只是想弄清楚实例变量是如何工作的,但这让我想到了一些奇怪的事情 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
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();
}
}
}
它如何可能输出:
“砰砰,砰砰
叮叮咚咚
棒棒棒棒“
而不是:“砰,砰,砰,砰
"叮叮"
因为我认为陷阱只能玩一次,因为我是在d.playSnare()之后声明的;
到d.陷阱=假 删除此行中的分号,它充当
if
块的主体
if (d.snare == true);{
换成
if (d.snare == true){
另外,d.snare
已经是一个boolean
,因此可以将条件表达式简化为:
if (d.snare){
爆炸了
if (d.snare == true);
移除