美文网首页
成员变量,静态变量,局部变量的个人见解

成员变量,静态变量,局部变量的个人见解

作者: 小码哥教育520it | 来源:发表于2017-08-23 17:53 被阅读0次

    原文 :http://bbs.520it.com/forum.php?mod=viewthread&tid=1321&page=1&extra=&_dsign=d0cc707b
    转自小码哥论坛
    小码哥Java培训

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

    1:成员变量直接定义在类中。
    局部变量定义在方法形参,方法内变量,代码块变量。
    2:成员变量在这个类中有效。
    局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
    3:成员变量存在于堆内存中,随着对象的产生而存在,消失而消失。
    局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。

    变量初始值:

    局部变量没有初始值,所以使用前要显示的初始化.
    成员变量的初始值和动态创建数组里的元素的初始值是一样的;系统默认一个初始值

    局部变量

    局部变量定义后,必须显示初始化后才能使用,因为系统不会为局部变量执行初始化操作。这就意味着,定义局部变量后,系统并未为这个变量分配内存空间。
    直到程序为这个变量赋值时,系统才会为局部变量分配内存,并将初始值保存到该栈内存中。
    局部变量不属于任何类或对象,因此它总是保存在其所在方法的栈内存中。
    基本数据局部变量:直接把这个变量的值保存到该变量所对应的内存中。
    引用数据局部变量:这个变量内存中存的是堆中的一个地址,通过该地址引用到该变量实际引用堆里的的对象。
    栈内存中的变量无需系统垃圾回收,其往往随方法或代码块的运行结束而结束。

    成员变量和静态变量的区别:

    1,成员变量所属于对象。所以也称为实例变量。
    静态变量所属于类。所以也称为类变量。
    2,成员变量存在于堆内存中。
    静态变量存在于方法区中。
    3,成员变量随着对象创建而存在。随着对象被回收而消失。
    静态变量随着类的加载而存在。随着类的消失而消失。
    4,成员变量只能被对象所调用 。
    静态变量可以被对象调用,也可以被类名调用。
    所以,成员变量可以称为对象的特有数据,静态变量称为对象的共享数据。

    相关文章

      网友评论

          本文标题:成员变量,静态变量,局部变量的个人见解

          本文链接:https://www.haomeiwen.com/subject/mfljdxtx.html