先来看成员变量和局部变量是什么:
成员变量:
定义在类里的变量
public class Person {
private String name;
int age;}
局部变量
在方法定义中,或声明方法上的变量
public class Person {
private String name;
int age;}
public void buy(){
int v = 10;//这就是局部变量
System.out.println(v);
}
}
全局变量与局部变量有很多区别:
- 类中位置不同:如上代码
- 在内存中不同:成员变量在堆中,局部变量在栈中
- 生命周期不同:成员变量随对象的使用完而结束,局部变量在方法使用完就回收
- 初始化值不同:成员变量初始化系统会给定,局部变量在定义是必须赋初始值