一、什么是成员变量和局部变量
成员变量:在类中方法外定义的变量
局部变量:方法中的变量
public class Demo3 {
String name; //成员变量
public void study(){
int i = 0; //局部变量
System.out.println("好好学习");
}
public void doHomework(){
System.out.println("写作业");
int j = 10; //局部变量
}
int age; //成员变量
}
例如代码中的 name和age 就是成员变量,因为其定义在类Demo3中,方法之外。
而study方法和doHomework中的 i 和 j 变量就是局部变量
注意:方法中的形参也是局部变量
二、成员变量和局部变量的区别
1.类中位置不同
成员变量在类中方法外
局部变量是在方法内
2.内存中位置不同
成员变量是在堆内存中
局部变量是在栈内存中
3.生命周期不同
成员变量会随着对象的存在而存在,随着对象的消失而消失
局部变量会随着方法的调用而存在,随着方法的调用完毕而消失
4.初始化值不同
成员变量有默认的初始化值
局部变量没有默认的初始化值,必须先定义,赋值之后才能使用