Java的局部变量与成员变量之间的异同
相同点:
1. 命名规则一样,都是 类型+变量名 = value;
2. 都需要先声明后使用;
3. 都有其作用域。
不同点:
1. 作用域不同;
2. 声明位置不同;
(1) 成员变量声明直接声明在:类中
(2) 局部变量声明在:方法、代码块和构造器中及方法的形参位置
3. 成员变量有特定的权限修饰符,局部变量没有;
(1) 成员变量有修饰符:private、protected、缺省和public
(2) 局部变量的权限跟随所在方法
4. 成员变量有默认初始化值而局部变量没有;
成员变量的默认初始化值:
整型 —>0
浮点型—>0.0
布尔型—>false
引用数据类型—>null
5. 加载位置不同,局部变量加载在栈中。而非静态成员变量加载到堆中,静态成员变量加载到方法区中。