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

为什么要返回,直接用SUM不可以吗

public class HelloWorld {

    

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

       static  int score2 = 92; 


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

public  static   int sum() { 

      sum= socre1+socre2;

      

      

}


public static void main(String[] args) {

        

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

int allScore = sum;

        

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

}

}


提问者:慕盖茨3009647 2018-05-18 12:17

个回答

  • qq_Sweetdream_4
    2018-05-18 16:06:27
    已采纳

    1. 静态方法中sum是方法名,方法体需要为局部变量和起个名字并赋值(因为和是返回值,方法体需要这个变量),只要符合命名要求就行,可以和方法名重名(例如变量和:int sum=score1+score2;但一般不建议,因为会混淆方法名和方法体内变量名,运行结果是正确的);

      int sum= score1+score2;

         return sum;

    2.调用静态方法:

    //使用类名调用

    int allScore = HelloWorld.sum();

    //使用对象名调用

     HelloWorld num=new  HelloWorld();

    int allScore = num.sum();

    正在学习,一起加油

  • Heving
    2018-05-18 13:50:02

    我也在学,这里呢,首先 你上面的sum=socre1+socre2 不能这样写,因为你上面的sum已经是方法名了, 按照你这个程序来看,这里应该返回和:return socre1+socre2   。然后:int allScore = sum  这里写错了,因为 你上面用了static静态方法,所以你这里可以直接调用静态方法sum:int allScore = HelloWorld.sum();    这样才对,或者你也可以用对象名来调用,只是要麻烦一点。再然后  静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员,静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。  感觉你应该是这两个概念没动吧,这两个你要记住。一起学习吧,你看看是不是这样。