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

这样写为什么不对,求大神指导

public static int sum(){

static int sum=score1+score2;

System.out.println(sum);

}


提问者:慕仙8557862 2017-11-27 18:49

个回答

  • Jehezekel3415849
    2017-11-28 23:08:50
    已采纳

    public static int sum(){
       static int sum=score1+score2;
       System.out.println(sum);
       return sum;
    }

    对于java编译器来说,是这样的:

    public static int sum(){
    static {
     sum  = score1 + score2;
    }
    static int sum;
    System.out.println(sum);
    return sum;
    }

    我在这里先认为score1、score2是普通的成员变量。

    static{}块 在类(new class())加载之前被编译器执行的,而static{}块中存在两个未知变量,因为score1、score2是普通的成员变量,是在类(new class())加载之后才被告知编译器的。

    还是看不懂的话,可以参考:http://blog.csdn.net/darxin/article/details/5293427

  • qq_颜子明_0
    2018-01-05 18:15:15

    首先先了解方法的基本语法。格式是:访问修饰符  返回值类型 方法名(){代码块}方法是这样定义的。你这里访问修饰符是:public,返回值类型是:static int ,是返回一个整型的静态变量。所以啊,你就必须在代码块中返回一个整型值,关键字是return。而课程里面,写的是void 所以是不需要些返回值的!!

  • 缘分Re桔梗花
    2017-11-27 19:40:50

    不要 有 修饰符 static  

    score1 和 scor 2这两个参数要以数据类型定义这两个参数到sum方法里去

    并且要有返回值 return


  • 丿山有木兮
    2017-11-27 19:38:36

    要有返回值