public?class?B?{
int?n;
static?int?sum=0;
void?setN(int?n){
this.n=n;
}
int?getSum(){
for(int?i=1;i<=n;i++)
sum=sum+i;
return?sum;
}
}public?class?C?{
public?static?void?main(String[]?args)?{
B?b1=new?B();
B?b2=new?B();
b1.setN(3);
b2.setN(5);
int?s1=b1.getSum();
int?s2=b2.getSum();
System.out.println(s1);
System.out.println(s2);
}
}結(jié)果是:6?????????????21我為什么想不i明白S2會得21呢?為什么不是15??
1 回答
已采納

產(chǎn)品經(jīng)理不是經(jīng)理
TA貢獻(xiàn)481條經(jīng)驗 獲得超143個贊
因為b1.getSum();執(zhí)行完成后,靜態(tài)成員變量sum的值已經(jīng)變成了6而不是0;當(dāng)你執(zhí)行b2.getSum()的時候, 累加的和自然是21了。
添加回答
舉報
0/150
提交
取消