1. 概述
如下代码:
class TestDemo{
int b = 20 ; // 成员变量
public static void main(String[] args){
int a = 10 ; // 局部变量
}
}
成员变量和局部变量的区别:
1>:在类中的位置不同:
- 成员变量:类中方法外;
- 局部变量:方法内或者方法声明上;
2>:在内存中的位置不同: - 成员变量:在堆内存;
- 局部变量:在栈内存;
3>:生命周期不同: - 成员变量:随着对象的创建而存在,随着对象的消失而消失;
- 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失;
4>:初始化值不同: - 成员变量:有默认的初始化值:整型:0、浮点:0.0、对象:null;
- 局部变量:没有初始化值,若要使用,必须先定义,然后初始化,最后才能使用
网友评论