标题:请问什么时候要用到static关键字。
只看楼主
uytrkt
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-10-27
结帖率:100%
已结贴  问题点数:20 回复次数:4 
请问什么时候要用到static关键字。
有的例子在定义字段,方法,属性等时候都用到了,而有的时候又不用?如解呢???
搜索更多相关主题的帖子: static 关键 
2010-10-27 16:12
wangnannan
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:87
帖 子:2545
专家分:9359
注 册:2007-11-3
得分:18 
LZ是想问什么时候用静态变量比较合适是吧? 个人认为应该从以下几方面考虑
1.内存分配
静态变量在应用程序初始化时,就存在于内存当中,直到它所在的类的程序运行结束时才消亡;
而非静态变量需要被实例化后才会分配内存。
2.生存周期
静态变量生存周期为应用程序的存在周期;
非静态变量的存在周期取决于实例化的类的存在周期。
3.调用方式
静态变量只能通过“类.静态变量名”调用,类的实例不能调用;
非静态变量当该变量所在的类被实例化后,可通过实例化的类名直接访问。
4.共享方式
静态变量是全局变量,被所有类的实例对象共享,即一个实例的改变了静态变量的值,其他同类的实例读到的就是变化后的值;
非静态变量是局部变量,不共享的。
5.访问方式
静态成员不能访问非静态成员;
非静态成员可以访问静态成员。

静态变量和私有变量的最主要的区别就在于:他们分配内存空间的方式不一样。
静态变量的内存是在程序开始执时变量就占用了内存,直到程序结束时变量才释放内存.
私有变量(或者说是局部变量,不知道你是不是指这个:)),是在程序运行到该步的时候分配内存。所以,当离开了该私有变量的作用域的时候,私有变量的内存空间会被释放。

所以:静态变量只的值只会初始化一次,后面每次访问,都是上次处理过的值,(即使是在一个函数内部)。
私有变量每次都初始化。
希望对LZ有帮助

[ 本帖最后由 wangnannan 于 2010-10-27 21:02 编辑 ]

出来混,谁不都要拼命的嘛。 。拼不赢?那就看谁倒霉了。 。有机会也要看谁下手快,快的就能赢,慢。 。狗屎你都抢不到。 。还说什么拼命?
2010-10-27 21:01
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
得分:2 
类的对象所拥有的成员函数或者成员变量不用static。
某一类所具有的成员函数或者成员变量使用static。
2010-10-27 22:17
moridiansha
Rank: 6Rank: 6
来 自:承德
等 级:侠之大者
威 望:4
帖 子:254
专家分:417
注 册:2009-10-21
得分:0 

www.qysy.tk
2010-10-30 12:14
寒菲紫澈
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-8-22
得分:0 
谢谢哈
2016-08-22 18:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-324152-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.187718 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved