黑马程序员技术交流社区

标题: static关键字有什么作用 [打印本页]

作者: yanghaihun    时间: 2015-4-26 20:21
标题: static关键字有什么作用
static关键字有什么作用,有哪位大神能帮我解答一下吗

作者: czh251    时间: 2015-4-26 21:30
static用于声明全局变量,或者局部变量,比如 static int a;这里的a就为静态变量了。可能你要问这与int a;有什么区别呢?区别就是前者存放在静态内存中,而后者存放在堆栈中,存放在堆栈里的变量一离开作用域(函数),比如说同时在一个函数中使用static int a;   int b;  一调用完函数,b的值就被回收,而a的值则不会被回收,可以在函数再次调用时继续使用这个值。
作者: KK要有光    时间: 2015-5-7 10:37
我只知道使用了static关键字,整个类中都能调用该变量,就是它的权限很大,不知道对不对。
作者: wx_BZhrvVik    时间: 2015-5-7 13:53
声明全局变量,会一直被保留
作者: qingying5810    时间: 2015-5-7 19:20
KK要有光 发表于 2015-5-7 10:37
我只知道使用了static关键字,整个类中都能调用该变量,就是它的权限很大,不知道对不对。 ...

不对 回去好好看视频
作者: qingying5810    时间: 2015-5-7 19:26
static 对函数的作用:定义和声明一个内部函数
static对全局变量的作用:定义一个内部变量
static对局部变量的作用:延长局部变量的生命周期,到函数结束时变量才销毁
自己好好看视频里面都介绍的很详细,这么说你可能不太懂
作者: KK要有光    时间: 2015-5-7 20:05
qingying5810 发表于 2015-5-7 19:26
static 对函数的作用:定义和声明一个内部函数
static对全局变量的作用:定义一个内部变量
static对局部变 ...

恩,再把这个视频翻出来好好看看。
作者: zy18692243338    时间: 2015-5-7 20:34
1.随着类的加载而加载
作者: 王鹏飞1    时间: 2015-5-7 20:49
声明全局变量,一直保留其内存
作者: mony    时间: 2015-5-7 20:52
KK要有光 发表于 2015-5-7 10:37
我只知道使用了static关键字,整个类中都能调用该变量,就是它的权限很大,不知道对不对。 ...

如果static 在局部变量中创建变量,那么这个变量只能在该函数中使用,但是就算这个函数执行完毕,a 也不会被释放,值依然保留,在下次进入这个函数的时候,可以继续使用。
也就是说static创建的变量的生命周期是从第一次创建开始,到整个程序结束为止
作者: KK要有光    时间: 2015-5-8 07:29
mony 发表于 2015-5-7 20:52
如果static 在局部变量中创建变量,那么这个变量只能在该函数中使用,但是就算这个函数执行完毕,a 也不 ...

嗯嗯,打基础真的很重要,认真的学习了。
作者: wanjiadenghuo    时间: 2015-5-8 12:58
1.使用static声明全局变量,可以避免文件中的一些全局变量被其他文件引用。
2.无论是否对全局变量进行static声明,全局变量均是静态储存方式。
3.使用static声明的全局变量,在本文件中定义在全局变量之前的函数也不能引用的。
作者: wodeheimalife    时间: 2015-5-8 16:32
修饰局部变量
作者: wr6524798    时间: 2015-5-9 20:39
static好像是如果定义到方法中,那么方法结束后变量值依然有效,不会随方法调用的结束而释放
作者: CornerFly    时间: 2015-5-9 20:59
这个视频里面有讲到,当一个量经常被使用时,加上static后,内存不会被释放,直到本文件结束




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2