1、局部变量:在方法内定义的变量称为“局部变量”或“临时变量”,方法结束后局部变量占用的内存将被释放。
2、成员变量:在类体的变量部分中定义的变量,也称为字段。
3、全局变量:全局变量,又称“外部变量”,它不是属于哪个方法,作用域从定义的地址开始到源文件结束。
4、局部变量和成员变量主要是他们作用域的区别:
成员变量个是类内部;局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置)。
成员变量可以不显式初始化,它们可以由系统设定默认值;局部变量没有默认值,所以必须设定初始赋值。
在内存中的位置也不一样。成员变量在所在类被实例化后,存在堆内存中;局部变量在所在方法调用时,存在栈内存空间中。
全局变量是一个运行时刻实体,它在程序的整个执行过程中都存在。全局变量占据的存储区域的使命周期从程序开始在程序终止时结束。 全局变量显示初始化时,或者未初始化时,在程序映像中有不同的分区:已初始化的全局变量是可执行模块的一部分。未初始化的全局变量则不是可执行模块的一部分,只有当定义它们的程序被调用时(即执行时),才分配空间,声明或定义时并不分配。未初始化的全局变量在运行时被初始化为0。局部变量也叫自动变量,它声明在函数快内,作用范围也在函数快内,不能同一源文件的其它函数使用,也不能其他文件中的函数使用,局部变量存储在栈中。无论局部变量显示初始化,或者未初始化,都只有当定义它们的程序快被调用时(及执行时),才分配空间,声明或定义时并不分配,局部变量不是可执行每模块的一部分!!除非显示地局部变量进行初始化,否则,它们的初始值是不确定的。
全局变量没有声明在任何一个函数内,作用范围在程序运行始终存在,能被同一原文件的任何函数使用,
也能被其他文件中的函数使用,但是使用extern关键字。方法执行完后,随之销毁结束。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)