专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 静态局部变量的作用域介绍

静态局部变量的作用域介绍

更新时间:2022-08-12 10:36:08 来源:赢咖4 浏览620次

静态局部变量的作用域是什么?赢咖4小编来告诉大家。

局部变量(动态储存)

1.仅能在它所定义的语句块内有效

例如:

第一个x,为零的作用域为定义它的语句块作用域(红色格格),里面的为橙色格格。

2.作用域较小的局部变量隐藏作用域较大的局部变量

例如:上图里的运算结果:

此时 int x = 1, y = 1;作用域较小会隐藏 x = 0, y = 0;的作用域。

全局变量(静态储存)

从此程序开始到此程序结束都有效(这里指的是一个程序而不是定义它的文件)。

1.局部变量与全局变量重名

局部变量隐藏全局变量,变量值互不影响。

2.形参与全局变量重名

形参属于局部变量,符合局部变量隐藏全局变量,变量值互不影响。

也就是说:

只要同名的变量出现在不同的作用域内

二者互不干扰,编译器有能力区分不同作用域中的同名变量

假如同名变量 出现在同一个作用域中

编译器也将束手无策

全局变量与静态全局变量

全局变量与静态全局变量都是静态储存,那有什么区别呢?

静态全局变量的作用域为定义它的此文件内有效, 在同一源程序的其它源文件中不能使用它。而非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的,但在别的文件中使用需要使用extern 修饰。

局部变量与静态变量

局部变量与静态变量不同的是它的存储方式即改变了它的生存期,static局部变量只被初始化一次,下一次依据上一次结果值;同时只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。

静态(static)函数与普通函数

static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

小结图:

以上就是关于“静态局部变量的作用域介绍”,大家如果想了解更多相关知识,可以关注一下赢咖4的Java教程,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>