面试官:请介绍全局变量和局部变量的区别**
参考答案:
Java中的变量分为成员变量和局部变量,它们的区别如下:
成员变量:
1、成员变量是在类的范围里定义的变量;
2、成员变量有默认初始值;
3、未被static修饰的成员变量也叫实例变量,它存储于对象所在的堆内存中,生命周期与对象相同;
4、被static修饰的成员变量也叫类变量,它存储于方法区中,生命周期与当前类相同。
局部变量:
1、局部变量是在方法里定义的变量;
2、局部变量没有默认初始值;
3、局部变量存储于栈内存中,作用的范围结束,变量空间会自动的释放。
注意事项
Java中没有真正的全局变量,面试官应该是出于其他语言的习惯说全局变量的,他的本意应该是指成员变量。