在静态方法里定义的变量就是静态的了,不需加static

解决方案 »

  1.   

    那这样为什么不行呢
    public class TestStatic 
    {
    int i = 0;
    static int j = 2;
    public static void main(String[] args) 
    {   
    int j=1;
    System.out.println(TestStatic.test1().s);
    }

    public static int test1()
    {
     int s=5;
     return 0;
    }
    }
      

  2.   

    静态的意思可以认为是,一个数据成员或方法属于它所在的类,而不象一般数据成员或方法,只属于它所在的对象,对象不同,数据成员的值也不同。
    静态方法里的变量是临时变量,只在静态方法里有效。而声明STATIC表示该变量属于类。所以不能声明为STATIC。
      

  3.   

    在静态方法里定义的变量就是静态的了,不需加static,你是多此一举所以,计算机不会做额外工的!
      

  4.   

    不会吧?静态方法里定义的变量就是静态的?
    public class TestStatic 
    {
    int i = 0;
    static int j = 2;
    public static void main(String[] args) 
    {   
    int j=1;
    System.out.println(TestStatic.test1().s);
    }

    public static int test1()
    {
     int s=5;
     return 0;
    }
    }
    上面那位兄弟的这个程序是明显不能运行的撒,解释一下?
      

  5.   

    静态的域(数据成员)、静态的方法都是属于类一级的。
      什么是类呢?把一些对象共有特征(属性或者数据成员)和行为(方法)抽象归纳起来,定义一下,取个名字,这就是类的基本含义了。既然是所有这一类对象共有东东,为什么非要创建对象才能调用了,麻烦哦,于是JAVA直接用(类名.方法)、(类名.数据成员)的形式就可以调用。也就是大家常说的,静态域相当于C语言的全局变量.既然加了static的变量是类一级数据成员,有什么理由放在一个方法里面。方法里面的应该是局部的只有本方法才会用的,在方法里面声明一个类一级的数据成员有何意义了,相反,对以后代码的查错和再读都不利。所以JAVA不允许这样做
       要提醒一下,不仅静成方法中不能声明静态数据成员,就算不是静态方法,其中照样不能声明静态数据成员。道理是一样的。
       不知道风中沙是怎么混到CSDN中的四级的,尽然说什么静态方法中定义的变量就是静态的了!不懂不要装懂!害人害已!