答案为啥是27,我算出来是21?

 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 A{
   public static void main(String args[]){
     B.b1=new B();b2=new B(); 
     b1.setN(3);
     b2.setN(5);
     int s1=b1.getSum();
     int s2=b2.getSum();
     System.out.println(s1+s2);
  }
}

Hectorai
浏览 2512回答 1
1回答

Caballarii

static的值只有一个并且是公用的所以在b1.getSum()的时候sum是6,在b2.getSum()之前sum还是6,因此b2.getSum()的结果是6+15=21那么s1+s2就是6+21=27了
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java