为了账号安全,请及时绑定邮箱和手机立即绑定

为什么定义静态变量 sum会提示表达式不和法???

public class HelloWorld {

    

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

    static     int score2 = 92; 


    // 定义静态方法sum,计算成绩总分,并返回总分

public  static  int sum() { 

      static int sum = score1 + score2 ;

      return sum;

      //return score1 + score2;

      

}


public static void main(String[] args) {

        

        // 调用静态方法sum并接收返回值

int allScore = sum();

        

System.out.println("总分:" + allScore);

}

}


正在回答

4 回答

方法中的属性是局部变量,局部变量不能是静态的。

0 回复 有任何疑惑可以回复我~

int allScore = sum(); 这样写是对的,运行的时候并没有报错。其实这个就是注意事项的第三点!!静态方法中可以直接调用动用静态方法!!

0 回复 有任何疑惑可以回复我~

局部变量是存放在栈中的,当方法结束后,资源就被gc回收了,而static修饰的是类属性,这个则不会。

1 回复 有任何疑惑可以回复我~

非常明显的错误 在你的调用方法中出现了错误

应该为int allScore = HelloWorld.sum();

0 回复 有任何疑惑可以回复我~
#1

戴耳环的鱼 提问者

你运行一下看看错误提示好吧ヽ(  ̄д ̄;)ノ
2017-12-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么定义静态变量 sum会提示表达式不和法???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信