JAVA的局部变量和成员变量的区别?

如题所述

局部变量和成员变量主要是他们作用域的区别,
成员变量个是类内部;局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置)。
另外,成员变量可以不显式初始化,它们可以由系统设定默认值;局部变量没有默认值,所以必须设定初始赋值。
还有,在内存中的位置也不一样。成员变量在所在类被实例化后,存在堆内存中;局部变量在所在方法调用时,存在栈内存空间中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-11
最简单的回答:
作用域,你写的变量只能在距离这个变量最近的大括号范围内(最近指的是距离开始的大括号最近的一个“{”)。
所以 局部变量一般是在方法中的,那么只有此方法可以调用。而成员变量是在类中的,就和方法一样,只要有类对象就可以访问。
第2个回答  2013-01-01
局部变量只适用于局部啊,成员变量要看定义的地方和属性。
第3个回答  2013-01-04
成员变量再该类中任何一个函数都能用,局部变量只能在该变量定义的方法中用。
第4个回答  2013-01-01
给个例子
如果int a;是全局变量,那么之后不能出现跟他同名其他的变量
for(int m=0;m<3;m++){
}
for(int m=0;m<3;m++){
}
循环后面在写一个循环;而循环变量m相同,但不报错;因为m只在他所在的循环中起作用;m是局部变量,而且这两个m不同,互不影响;