成员变量和局部变量的区别
1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型
2.成员变量存储在堆,局部变量存储在栈
3.存在时间不同
4.成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值
-------------------------------------------------------------------------------------------------------------
顾名思意了
什么是局部,方法内部,块内部都是局部,执行指令退出那个局部,局部变量自动清除
比如方法中,不用说
块中
{
int i=0; //这是一个局部变量,它的作用范围就在其中
}
成员变量就会涉及到谁的成员,类的成员?实例的成员?
class A{
int i=0; //实例的成员
static j=1;//类的成员
}
static 的差别,是否依赖于实例而存在
----------------------------------------------------------------------------------------------------------
成员变量:作为类的成员而存在,直接存在于类中。
局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中。
局部变量在使用前必须被程序员主动的初始化,和此形成对比,系统中的成员变量则会被系统提供一个默认的初始值。所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。