A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 奋斗的小雨 中级黑马   /  2014-1-23 13:14  /  1518 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 奋斗的小雨 于 2014-1-26 16:39 编辑

成员变量和局部变量区别:
作用范围:

成员变量作用于整个类中。

局部变量作用于函数中,或者语句中。

在内存中的位置:

成员变量,在堆内存中,因为对象的存在,才在内存中存在。

局部变量,存在栈内存中。

在前边讲解他俩的区别的时候还能搞懂,可是到后边一接触的代码多了,就感觉头大分不清那些是成员变量和局部变量了,越看越晕,有什么更直观的方法把这俩区分开呢?


7 个回复

倒序浏览
额,,直观的方法,这个学的多了慢慢的就知道了啊,要是觉得麻烦你就先只记住作用范围好了,成员变量在整个类里面,局部变量用于函数中,或者语句中。位置的话就以后接触的多了就知道了
回复 使用道具 举报
class A
{
int a;//成员变量
public static void main(String[] args)
{
int b;//局部变量
}
}
顾名思意了 ,什么是局部,就是方法内部,块内部都是局部,执行指令退出那个局部,局部变量自动清除。
成员变量:作为类的成员而存在,直接存在于类中。
局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中 。
局部变量在使用前必须被程序员主动的初始化,和此形成对比,系统中的成员变量则会被系统提供一个默认的初始值。所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。
实例变量和静态变量就先不说了,看到后面自然就明白了
回复 使用道具 举报
恩。。视频多看几遍,对敲代码自然就分开了!或者你可以把总结的放在旁边敲代码。。渐渐地就理解了。。。
回复 使用道具 举报
darkpiece 发表于 2014-1-23 14:50
class A
{
int a;//成员变量

这例子的我也能看明白,可是一到后边代码多了就乱套了,唉。。好头疼
回复 使用道具 举报
小小菜鸟 发表于 2014-1-23 17:52
恩。。视频多看几遍,对敲代码自然就分开了!或者你可以把总结的放在旁边敲代码。。渐渐地就理解了。。。 ...

我感觉这里弄不踏实了,越往后越弄不懂。
回复 使用道具 举报
看它所在的代码块,楼主加油。
回复 使用道具 举报
成员变量是对象的一个属性。在本类中都可以用,也就是该类中所有的方法都可以用。局部变量是属于方法中的,执行完一个方法局部变量也就失效了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马