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

为什么这个静态方法传入参数会报错。而正确答案不需要传入参数

public class HelloWorld {

    

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

     static     int score2 = 92; 


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

public  static   int sum(int score1,int score2) { 

      int sum=score1+score2;

       return sum;

     

      

      

}


public static void main(String[] args) {

        

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

int allScore = HelloWorld.sum();

        

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

}

}



提问者:没有思想的Java小白 2018-11-10 09:17

个回答

  • 远方有琴
    2018-11-10 11:16:20
    已采纳

    https://img4.mukewang.com/5be64ce0000148b005890745.jpg因为你的静态方法中有参数,你调用的时候要传入参数。下面是我的方法,静态方法无参数。

    public class HelloWorld {
        // 定义静态变量score1
        static int score1 = 86;
        // 定义静态变量score2
        static        int score2 = 92;

        // 定义静态方法sum,计算成绩总分,并返回总分
     public  static int sum() { 
          return score1+score2;   
     }

     public static void main(String[] args) {
         HelloWorld demo=new HelloWorld();
           
            // 调用静态方法sum并接收返回值
      int allScore = demo.sum();
           
      System.out.println("总分:" + allScore);
     }
    }


  • 慕神2039656
    2018-12-16 12:05:34

    你定义的静态方法是带参的,但是你调用的HelloWorld.sum();调用的是无参的。在你定义带参同名静态方法后,Java不会自动生成无参,所以会报错。

  • 慕用6423838
    2018-11-10 20:26:47

    而且你传入参数后,和全局的static变量就没有关系了,以你传入的参数为准