静态局部变量的作用域是什么?极悦小编来告诉大家。
1.仅能在它所定义的语句块内有效
例如:
第一个x,为零的作用域为定义它的语句块作用域(红色格格),里面的为橙色格格。
2.作用域较小的局部变量隐藏作用域较大的局部变量
例如:上图里的运算结果:
此时 int x = 1, y = 1;作用域较小会隐藏 x = 0, y = 0;的作用域。
从此程序开始到此程序结束都有效(这里指的是一个程序而不是定义它的文件)。
1.局部变量与全局变量重名
局部变量隐藏全局变量,变量值互不影响。
2.形参与全局变量重名
形参属于局部变量,符合局部变量隐藏全局变量,变量值互不影响。
也就是说:
只要同名的变量出现在不同的作用域内
二者互不干扰,编译器有能力区分不同作用域中的同名变量
假如同名变量 出现在同一个作用域中
编译器也将束手无策
全局变量与静态全局变量都是静态储存,那有什么区别呢?
静态全局变量的作用域为定义它的此文件内有效, 在同一源程序的其它源文件中不能使用它。而非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的,但在别的文件中使用需要使用extern 修饰。
局部变量与静态变量不同的是它的存储方式即改变了它的生存期,static局部变量只被初始化一次,下一次依据上一次结果值;同时只要某个对象对静态变量更新一次,所有的对象都能访问更新后的值。
static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝
以上就是关于“静态局部变量的作用域介绍”,大家如果想了解更多相关知识,可以关注一下极悦的Java教程,里面有更丰富的知识等着大家去学习,希望对大家能够有所帮助哦。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习