在静态方法中定义局部变量时不用加是static吧

来源:8-9 Java 中的 static 使用之静态方法

婷小猴

2017-04-06 22:49

public class HelloWorld {

    

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

static int score2 = 92; 


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

public static int sum() { 

      int sum=score1+score2;

      return sum;

      

}


写回答 关注

3回答

  • 乱了私念丶
    2017-04-06 23:41:03
    已采纳

    我也是给你百度的啊

    无论是静态方法还是非静态方法,他里面的变量都属于局部变量。而局部变量是不能定义成静态类型的,静态类型的都是在初始化类的时候最先初始化的,存在在方法区的静态代码块里,如果你定义了静态的局部变量,那么就会造成在还没调用的时候这个局部变量却已经初始化好了,局部变量是木有初始化值的。
    而且吧,我觉得,把局部变量定义成静态的是一种浪费。。。你函数执行完了,局部变量就没啥用了,如果你定义成静态的了,那么就一直就在那存着,多浪费空间。
    再者说,如果你想要这个变量一直有用,你就得把他定义成成员变量,成员变量是可以定义成静态的

  • Delly_Qiao
    2017-04-06 23:44:01

    是的,局部变量不需要static声明。因为它只在静态方法内部起作用,而且只在类装载的时候执行一次而已。

  • 乱了私念丶
    2017-04-06 23:38:51

    定义为static 的变量是和类相关的,也就是说它是类变量,所以只能定义为全局变量而不是局部变量

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531114 学习 · 6326 问题

查看课程

相似问题