Java变量定义

kaonilaomua 2012-08-09 02:11:34
大家在做项目的时候,变量的定义是定义全局变量多还是局部变量,定义局部变量和全局变量遵循的原则是什么,我要更好的释放内存,是不是尽量定义局部变量好呢,希望大侠们指点
...全文
186 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
csugzhiyang 2012-08-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
Thinking in java 中的一句话我觉得比较值得借鉴,大致如下:
你所声明的变量的作用范围应该尽量的小,当用到它的时候再声明
所以我觉得能声明为局部变量就不要声明为全局变量了
[/Quote]
+1.当那些局部变量超出了自己的范围,java的垃圾回收机制会自动回收那些没有用的对象所占用的内存
iGoodLoser 2012-08-09
  • 打赏
  • 举报
回复
Thinking in java 中的一句话我觉得比较值得借鉴,大致如下:
你所声明的变量的作用范围应该尽量的小,当用到它的时候再声明
所以我觉得能声明为局部变量就不要声明为全局变量了
qqliang1314 2012-08-09
  • 打赏
  • 举报
回复
看变量的作用域了,一般局部变量比全局变量多,因为用到全局变量的情况就那么几种
kaonilaomua 2012-08-09
  • 打赏
  • 举报
回复
因为每次调用得到的list里的值是不一样的
kaonilaomua 2012-08-09
  • 打赏
  • 举报
回复
因为每次调用,得到的list里的值是不一样的
wwwcomcn123 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
还好把他定义成成员变量呢,getList()方法会被多次调用
[/Quote]

既然已经定义成成员变量
getList()返回了list 就拿list用就行 为什么还要多次调用
kaonilaomua 2012-08-09
  • 打赏
  • 举报
回复
顶起来啊,不能沉
kaonilaomua 2012-08-09
  • 打赏
  • 举报
回复
比如下面这段代码
public class TT
{
public List<Integer> getList()
{
List<Integer> list =new ArrayList<Integer>();
for(........)
{
list.add(integer);
}
return list;
}
}
这个例子中的list,我是像上面那样定义,还好把他定义成成员变量呢,getList()方法会被多次调用
zz_shi 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
如一些 公用的字段 ,比如 PI这种啦 ,还有就是一些固定参数什么的 ,就定义为 final static

临时使用的 ,就定义成为局部变量啦,

如果是某个类 的所有对象公用的 ,就定义为public static
[/Quote]

+1
niuniu20008 2012-08-09
  • 打赏
  • 举报
回复
一些常量,或者实在需要在存在内存的,就定义final static。

临时使用,或者方法内容使用,肯定是局部变量。即使全局成员变量,也是使用setter/getter的。
csugzhiyang 2012-08-09
  • 打赏
  • 举报
回复
更好的释放内存就要多注意那些在循环中重复new的对象,让他们用同一个引用
五哥 2012-08-09
  • 打赏
  • 举报
回复
如一些 公用的字段 ,比如 PI这种啦 ,还有就是一些固定参数什么的 ,就定义为 final static

临时使用的 ,就定义成为局部变量啦,

如果是某个类 的所有对象公用的 ,就定义为public static
hanson339751607 2012-08-09
  • 打赏
  • 举报
回复
界定的方法,就是要看你声明的变量的作用访问。

比如说仅一个方法内使用就用局部变量,
多个方法使用,则可以定义全局变量(即static)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧