java中全局变量和局部变量的区别是什么?
内容摘要
全局变量是编程术语中的一种,源自于变量之分。全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。局部变量(Local va
文章正文
全局变量是编程术语中的一种,源自于变量之分。全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建。全局变量是可以被本程序所有对象或函数引用。
局部变量(Local variables):在方法内部(包括main()方法)定义的变量是局部变量。所有局部变量都是在方法被调用时在栈中分配空间,系统不会自动对他们进行赋值,所以必须先给局部变量赋初值之后才能使用。
全局变量和局部变量的区别:
1、作用域不同
全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包含全局变量定义的源文件需要用extern 关键字再次声明这个全局变量。
局部变量只有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。
2、初始值不同
全局变量=有初始值
局部变量=无初始值
3、声明上不同
全局变量=在一个类中不允许声明同名变量
局部变量=在一个方法中不允许声明同名变量
(同类不同方法中就可以声明同名的)
4、优先级不同
两类变量同名时,局部变量的有限级高
(就近原则)
推荐学习:Java视频教程
代码注释
[!--zhushi--]