一个程序里是不是不应该出现过多的static变量呀?

wym2005em 2009-08-10 11:40:34
一个程序里是不是不应该出现过多的static变量呀?请解答一下??
...全文
284 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
捏造的信仰 2009-08-11
  • 打赏
  • 举报
回复
原则是:变量应该尽量缩小使用范围,业务逻辑应该尽可能划分到对象当中。
supreme1008 2009-08-11
  • 打赏
  • 举报
回复
static的方法,因为是单例的,所以自然有他的好处,以一个大系统为例,你不可能每一次都加载所有的数据,所以这里可以使用static代码块来一次加载所有,这样可以减轻服务器的负担
x890305 2009-08-11
  • 打赏
  • 举报
回复
学习学习
tony418911 2009-08-11
  • 打赏
  • 举报
回复
应该是 越少越好,但是,多少就要自己掌握了。程序设计的时候就应该考虑的。提高可重用性
swandragon 2009-08-11
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
NJ0906 2009-08-11
  • 打赏
  • 举报
回复
目前处于似懂非懂中,继续学习
obullxl 2009-08-11
  • 打赏
  • 举报
回复
少用为好, 对于一些常量, 也可专门用个类包含起来.
gqins 2009-08-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 computerheart 的回复:]
静态变量主要是 应用于 可重用性高的 变量身上,由于静态变量是在程序开始时就在数据池中生成的,不可变的。定义的太多了,会影响到程序的运行效率,并且容易引起溢出的异常, 所以 尽量少定义静态变量,可以用局部变量代替静态变量,可以及时有效的销毁定义的变量。
[/Quote]

wym2005em 2009-08-11
  • 打赏
  • 举报
回复
hao
Debby_Bryant 2009-08-11
  • 打赏
  • 举报
回复
少点还是好...
feishare 2009-08-11
  • 打赏
  • 举报
回复
静态变量和静态初始化块是在类加载时就已经在内存中初始化了,所以可以用这一特性不用显示的初始化一些变量或进行一些操作。比如说加载jdbc驱动时,我们不用new实现了java.sql.Driver接口的类,我们只是加载相应实现了该接口的类,在该类中注册了驱动程序类的一个实例,用DriverMangaer驱动程序管理类的registerDriver()方法注册实例,而不需要我们亲自去调用这个方法,在静态代码块就包含了这些操作,但我们调用ClassforName时就已经执行了
boringame 2009-08-11
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 xiaoduan5267 的回复:]
什么都要有个度
[/Quote]
有道理!
都不一定的
Miracle1216 2009-08-11
  • 打赏
  • 举报
回复
什么都要有个度
ZangXT 2009-08-11
  • 打赏
  • 举报
回复
看实际情况需求。
像jpc这个开源系统里,能static的尽量static,为了性能。
pushme 2009-08-11
  • 打赏
  • 举报
回复
不懂不懂!学习学习!
sd01397055 2009-08-11
  • 打赏
  • 举报
回复
学习
铁匠梁老师 2009-08-11
  • 打赏
  • 举报
回复
路过,每天回帖即可获得10分可用分!
ComputerHeart 2009-08-11
  • 打赏
  • 举报
回复
静态变量主要是 应用于 可重用性高的 变量身上,由于静态变量是在程序开始时就在数据池中生成的,不可变的。定义的太多了,会影响到程序的运行效率,并且容易引起溢出的异常, 所以 尽量少定义静态变量,可以用局部变量代替静态变量,可以及时有效的销毁定义的变量。
believefym 2009-08-10
  • 打赏
  • 举报
回复
一般来说太多总是不好,但也要看情况

假如有很多的常量的确需要static,那也无可厚非

但假如你的static常常是被迫添加的,比如由于一个method或field是static了,而导致新的method或field也必须是static,如此恶性循环下去的时候,说明设计有问题了
xiaozejun 2009-08-10
  • 打赏
  • 举报
回复
其是首先你要明白静态变量是干嘛用的
静态变量他可以让类直接调用
而且静态的方法 他也是单例模式的
以个人经验来看 除了一些特需的方法和属性 还是少用
静态来修饰 就向楼上所说的 没有明白程序结构和解耦
加载更多回复(2)

62,612

社区成员

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

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