区别局部变量和全局变量(成员变量)
- 局部变量一定要自行初始化否则报错, 全局变量有默认值 (不用初始化也不建议初始化, 具体使用时再赋值即可)
- 其中实例变量、类变量、常量都是属于成员变量的,成员变量又被称为全局变量
-
java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。
- 作用范围: 作用在当前的一个方法或代码块中, 被称为局部变量. 作用在当前类的很多方法, 被称为全局变量
- 作用时间不同:成员变量当前对象从创建到毁灭, 局部变量从开始执行到执行完毕.
-
在内存中位置不同: 成员变量在堆内存中, 局部变量在栈内存中
- 局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
- 备注:数据类型的初始值:// 成员变量才有初始值, 局部变量没有初始值需要自行初始化
- byte, short, int, long --->初始值为0
-
float, double --->初始值为0.0
char --->初始值为一个空字符即 '\u0000'
boolean --->初始值为false
引用数据类型--->初始值为null, 表示变量不引用任何对象