A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

yanghaihun

初级黑马

  • 黑马币:20

  • 帖子:5

  • 精华:0

© yanghaihun 初级黑马   /  2015-4-26 20:21  /  2923 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

static关键字有什么作用,有哪位大神能帮我解答一下吗

14 个回复

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

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

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

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

嗯嗯,打基础真的很重要,认真的学习了。
回复 使用道具 举报
1.使用static声明全局变量,可以避免文件中的一些全局变量被其他文件引用。
2.无论是否对全局变量进行static声明,全局变量均是静态储存方式。
3.使用static声明的全局变量,在本文件中定义在全局变量之前的函数也不能引用的。
回复 使用道具 举报
修饰局部变量
回复 使用道具 举报
static好像是如果定义到方法中,那么方法结束后变量值依然有效,不会随方法调用的结束而释放
回复 使用道具 举报
这个视频里面有讲到,当一个量经常被使用时,加上static后,内存不会被释放,直到本文件结束
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马