成员变量与局部变量的区别。
1、什么是成员变量?
成员变量代表着类的特征。
成员变量是指在类体的变量部分中定义的变量,也称为属性。成员变量声明在类中,方法体之外,在创建对象时实例化;成员变量可被类中的方法、构造方法以及特定类的语句块访问。如果声明成员变量时没对其初始化,则系统会使用默认值初始化成员变量。
1.1成员变量的书写格式
修饰符 数据类型 变量名;
注:变量可直接赋值,也可使用时进行赋值(一般不先赋值)。
1.2成员变量具有默认值
成员变量具有默认值,默认值时所对应数据类型的默认值。
例如:int(0)、long(0.0)、boolean(false)等。
class Person{
private String name;//姓名
private int age;//年龄
}
2、什么是局部变量?
局部变量只是代表着存储数据的一个容器。
局部变量(Local Variable),就是在成员方法里面定义的变量我们称之为局部变量。
2.1局部变量的书写格式
数据类型 变量名;
注:局部变量无默认值,因此在使用时应提前进行赋值,否则编译失败。
class Person{
public void personInfo() {
int age;
String name;
}
}
3、 局部变量与成员变量的区别。
成员变量 | 局部变量 | |
---|---|---|
定义位置不同 | 定义在类体中,方法体之外 | 定义在方法体中/代码块中 |
代表意义不同 | 类的特征 | 存储数据的容器 |
存储位置不同 | 一般存储在堆空间中 | 一般存储在栈空间中 |
初始值不同 | 初始值是对应数据类型的默认值 | 无初始值 |
作用域不同 | 整个类体中 | 在定义的方法体中 |
能否被修饰符修饰 | 可以被所有的修饰符修饰 | 只能被final修饰 |