问答详情
源自:8-9 Java 中的 static 使用之静态方法

为什么定义静态变量 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);

}

}


提问者:戴耳环的鱼 2017-12-25 22:07

个回答

  • 慕UI7498547
    2017-12-25 22:30:36
    已采纳

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

  • qq_颜子明_0
    2018-01-05 17:52:46

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

  • 慕UI7498547
    2017-12-25 22:35:08

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

  • 慕移动7662841
    2017-12-25 22:18:27

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

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