所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

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

发布时间:2020-04-12 09:06:35

资讯分类:局部变量  变量  区别  成员  变量  局部  方法
成员变量和局部变量的区别?

1、在类中位置不同:成员变量:在类中方法外。局部变量:在方法定义中或者方法声明上。

2、在内存中的位置不同:成员变量:在堆内存。 局部变量:在栈内存。

3、生命周期不同:成员变量:随着对象的创建而存在,随着对象的消失而消失。 局部变量:随着方法的调用而存在,随着方法的调用完毕而消失。

4、初始化值不同:成员变量:有默认值初始化。局部变量:没有默认值初始化,必须定义,赋值,然后才能使用。5、注意事项:局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

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

成员变量是属于某一个类型的,与声明这个变量的类具有从属关系。

而局部变量是不属于任何类型的,在当前作用域失效后就会被释放掉。

从内存分配的角度来说,局部变量都是被分配在数据栈上的,这个栈生存期结束也就会释放所有的局部变量。而成员变量所属的类型,如果是通过new操作符进行分配,那么它就会存在于数据堆上,需要程序员手动将它释放,否则就会造成内存泄露。

留言与评论(共有 0 条评论)
   
验证码:
Top