(一)局部变量:
定义在方法中,或者方法声明上的变量就是局部变量
public static void main(String[] args) {
int i =1;
{
int j=2;
}
}
public static int getSum(int i,int j) {
}
(二)成员变量:
定义在类中,方法外的变量就是成员变量
class Person{
String name;
int age;
}
(三)成员变量和局部变量的区别:
1.定义位置不同:
局部变量:定义在方法中或者方法的声明上
成员变量:定义在类中方法外
2.内存位置不同
局部变量:存储在栈中的方法中
成员变量:存储在堆中的对象中
3.初始值不同
局部变量:没有默认初始值,想要使用一定要先赋值再使用
成员变量:有默认初始值,如果不赋值也可以使用
如String 类型的变量默认初始值为null
int类型的变量默认初始值为0
boolean类型的变量默认初始值为false
double类型的变量默认初始值为0.0
char类型的变量默认初始值为'\u0000'(对应的是unicode的编码值,即全球语言统一编码)
4.生命周期不同
局部变量:因为是存储在方法中,所以是随着方法的存在而存在
成员变量:因为是存储在对象中,所以是随着对象的存在而存在
5.作用域范围不同
局部变量:出了方法就用不了了
成员变量:在本类中的方法中都可以使用