关于static的,求高手解答?
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 Add{
public static void main(String args[]){
B b1=new B(),b2=new B();
b1.setN(3);
b2.setN(4);
int s1=b1.getSum();
int s2=b2.getSum();
System.out.println(s1+s2);
}
}
这个的结果怎么不是21啊?求解答,谢谢~~
搜索更多相关的解决方案:
return
----------------解决方案--------------------------------------------------------
结果是27
----------------解决方案--------------------------------------------------------
这个结果是22嘛。。。s1=6 s2=16
当 int s1 = b1.getSum(); 完了后 sum = 6
到 int s2 = b2.getSum(); 时sum从6开始加。。完后 sum=16
----------------解决方案--------------------------------------------------------
回复 2楼 Daisyack
明白了,明白了~~~27的结果是b2.setN(5) ----------------解决方案--------------------------------------------------------