大家在做项目的时候,变量的定义是定义全局变量多还是局部变量,定义局部变量和全局变量遵循的原则是什么,我要更好的释放内存,是不是尽量定义局部变量好呢,希望大侠们指点

解决方案 »

  1.   

    界定的方法,就是要看你声明的变量的作用访问。比如说仅一个方法内使用就用局部变量,
    多个方法使用,则可以定义全局变量(即static)
      

  2.   

    如一些 公用的字段 ,比如 PI这种啦 ,还有就是一些固定参数什么的 ,就定义为 final static临时使用的 ,就定义成为局部变量啦,如果是某个类 的所有对象公用的 ,就定义为public static 
      

  3.   

    更好的释放内存就要多注意那些在循环中重复new的对象,让他们用同一个引用
      

  4.   

    一些常量,或者实在需要在存在内存的,就定义final static。临时使用,或者方法内容使用,肯定是局部变量。即使全局成员变量,也是使用setter/getter的。
      

  5.   

    比如下面这段代码
    public class TT
    {
       public List<Integer> getList()
       {
          List<Integer> list =new ArrayList<Integer>();
          for(........)
          {
              list.add(integer);
           }
          return list;
       }
    }
    这个例子中的list,我是像上面那样定义,还好把他定义成成员变量呢,getList()方法会被多次调用
      

  6.   


    既然已经定义成成员变量 
    getList()返回了list 就拿list用就行 为什么还要多次调用
      

  7.   

    因为每次调用,得到的list里的值是不一样的
      

  8.   

    因为每次调用得到的list里的值是不一样的
      

  9.   

    Thinking in java 中的一句话我觉得比较值得借鉴,大致如下:
    你所声明的变量的作用范围应该尽量的小,当用到它的时候再声明
    所以我觉得能声明为局部变量就不要声明为全局变量了
      

  10.   

    +1.当那些局部变量超出了自己的范围,java的垃圾回收机制会自动回收那些没有用的对象所占用的内存