黑马程序员技术交流社区

标题: 局部变量和成员变量的区别? [打印本页]

作者: LTT    时间: 2015-5-4 22:04
标题: 局部变量和成员变量的区别?
想要一个接地气的答案

作者: Oh.Ba    时间: 2015-5-4 23:11
局部小范围,成员大范围,就像国家领导人,全国知道,村长,只有村里人知道。
作者: 米江波    时间: 2015-5-4 23:15
局部变量和成员变量的区别:
1,定义位置不同;
   局部变量定义在函数中,而成员变量定义在类中函数外
2,初始化内容不同
   局部变量没有默认的初始化值,要使用必须首先进行初始化值;
   而成员变量有默认的初始化值;
3,存放位置不同
   局部变量存放在栈内存中,随着函数的调用而加载,随着函数调用的消失而消失
   而成员变量存放在堆内存中,随着类的加载而加载,随着类的消失而消失
希望能帮到你

作者: yihuihua    时间: 2015-5-4 23:20
二楼回答的很接地气呀
作者: 15059320049    时间: 2015-5-4 23:24
2楼好样
作者: 814326663    时间: 2015-5-4 23:24
接地气啊  这个你考虑下你们班的辅导员跟校长..哈哈  成员变量就是校长 ,管理范围大  ,局部变量就是辅导员  ,管理范围小
作者: ninjaes    时间: 2015-5-4 23:24
听名字就知道了 一个是会员,一个非会员。很明显两者装逼的时长,范围不同。成员明显biger than biger
作者: 龙腾浩少    时间: 2015-5-4 23:25
1, 定义位置
成员变量:类中
局部变量:方法或语句中
2, 初始化
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须手动赋值后才能使用
3, 作用范围
成员变量:作用在当前整个类中
局部变量:作用在变量所在的最近的大括号内
4, 生命周期
成员变量:随着对象的建立而加载,生命周期相对较长
局部变量:跟随方法的调用而加载,生命周期相对较短
5,存储位置
成员变量:跟随对象的建立而加载,存放在堆内存中
局部变量:跟随方法的调用而加载,存放于栈内存中
(当然,静态的成员变量是放在静态方法区的)
作者: 曹宇    时间: 2015-5-4 23:35
不用管局部还是全局
你看定义这个变量的时候 被哪个 { } 包起来  她的作用域就在那个 { } 内.

如:
{
int a
for(...){
    int b
  }
}

a在外层括号内 那么它的作用域就在外层括号包起来的所有内容  for循环也是其作用域

同理 b 只在for内有效




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2