成员变量、静态变量、局部变量的区别

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

(1)在类中的位置不同

    成员变量:类中方法外

    局部变量:方法定义中或者方法声明上

(2)在内存中的位置不同

    成员变量:在堆内存中

    局部变量:在栈内存中

(3)生命周期不同

    成员变量:随着对象的创建而存在,随着对象的消失而消失

    局部变量:随着方法的调用而存在,随着方法的调用完毕而消失

(4)初始化值不同

    成员变量:有默认值

    局部变量:没有默认值,必须定义,赋值,然后才能使用

注意:局部变量名称可以和成员变量名称一样,在方法中使用的,采用的是就近原则

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

A:所属不同

        静态变量:属于类,类变量

        成员变量:属于对象,对象变量,实例变量

B:内存位置不同

        静态变量:方法区的静态区

        成员变量:堆内存

C:生命周期不同

        静态变量:静态变量是随着类的加载而加载,随着类的消失而消失

        成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失

D:调用不同

        静态变量:可以通过对象名调用,也可以通过类名调用

        成员变量:只能通过对象名调用

有利于理解,虚拟机堆、栈、方法区存放的元素。
转载地址:
https://blog.csdn.net/u010273362/article/details/50451006

猜你喜欢

转载自blog.csdn.net/qq_38893133/article/details/103848512