成员变量和局部变量的区别
成员变量:类中方法外
局部变量:方法生命上或者是方法定义中
/public void show (String name){
int num=200;
System.out,println();
}/
内存中的位置不同
成员变量:堆内存
局部变量:栈内存
生命周期不同
局部变量随着方法调用而调用,
成员变量随着对象的创建完毕而调用,随着对象被GC回收而消失(并不立即回收,等待垃圾回收器空闲)
初始化不同
成员变量:可以不进行初始化,因为它在堆内存中(跟对象有关系),存在系统默认值
局部变量:必须在使用之前对局部变量进行初始化,否则报错,“可能尚未初始化值”
//定义一个类"variable
class Variable{
int num;
public void show(){
int num=200;
}
//测试类
class VariableDemo{
public static void main(String[]args){
//需求:访问Variable中的num变量
//创建Variable类的对象
Variable v=new Variable;
System.out.println(v.num);//系统默认初始化值
v.show;
}
}