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

求指点!!!!!!

这个最后一行的ptint();为什么能直接写可以,但是练习题的

int allScore=HelloWorld.sum();就不能写成int allScore=sum();,求大佬指点!!!!!我觉得是静态方法调用静态方法就应该可以直接调用啊,但为什么还得用类调用?

提问者:qq_慕的地0597903 2019-08-02 11:21

个回答

  • 漫_
    2019-08-02 13:40:27
    已采纳

    可以啊,static就是说在最开始已经为这个方法分配了内存空间,已经与HelloWorld这个特定的类关联,而你又是在此类中调用,所以无需实例化也是可以的,你是不是其他地方的代码有点问题?你可以把你运行错误的那个代码贴出来我看一下

  • 慕移动5075307
    2019-08-02 13:50:31

    练习题的也可以写成int allScore=sum();啊。。。我就这么写的运行成功的0.0

  • 慕娘3940691
    2019-08-02 13:46:17

    可以啊

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

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

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

  • 纸短
    2019-08-02 13:42:25

    因为你这里语句不完整,我觉得可能是静态方法和调用的那个类不是同一个类,静态方法只有在同一个类中才可以直接调用,不用   类.方法()。也就是说,你的静态方法是定义在HelloWorld类中,但是你这个调用 并不是在这个类中。