成员变量和局部变量的区别
public class People{
//成员变量
String name="小明";
public void eat(){
//局部变量
String food="热干面";
System.out.println(name+"中午吃的是"+food);
}
}
比较 | 成员变量 | 局部变量 |
---|---|---|
定义位置 | 直接在类中定义 | 定义在方法中 |
声明赋值 | 可以在声明时赋初始值;若不赋值,会有默认初始值,基本数据类型的值为0,引用数据类型的值为null | 在使用前需要赋值 |
作用域 | 在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用 | 仅限于定义它的方法,在该方法外无法访问它 |
- 注意:
(1)在同一方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量
(2)局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级