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

 简单概述:

  • 成员变量 就是事物的属性

  • 成员方法 就是事物的行为

 怎样定义成员变量和方法:

  • 成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。

  • 成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。

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

  • A:在类中的位置不同

    • 成员变量:在类中方法外

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

  • B:在内存中的位置不同

    • 成员变量:在堆内存(成员变量属于对象,对象进堆内存)

    • 局部变量:在栈内存(局部变量属于方法,方法进栈内存)

  • C:生命周期不同

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

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

  • D:初始化值不同

    • 成员变量:有默认初始化值

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

  • 注意事项:

    • 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。

    • 基本数据类型变量包括哪些:byte,short,int,long,float,double,boolean,char

    • 引用数据类型变量包括哪些:数组,类,接口,枚举

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

1、成员变量所属于对象。所以也称为实例变量。

静态变量所属于类。所以也称为类变量。

2、成员变量存在于堆内存中。

静态变量存在于方法区中。

3、成员变量随着对象创建而存在。随着对象被回收而消失。

静态变量随着类的加载而存在。随着类的消失而消失。

4、成员变量只能被对象所调用 。

静态变量可以被对象调用,也可以被类名调用。

所以,成员变量可以称为对象的特有数据,静态变量称为对象的共享数据。

成员变量和类变量的区别:

1、两个变量的生命周期不同

成员变量随着对象的创建而存在,随着对象的回收而释放。

静态变量随着类的加载而存在,随着类的消失而消失。

2、调用方式不同

成员变量只能被对象调用。

静态变量可以被对象调用,还可以被类名调用。

3、别名不同

成员变量也称为实例变量。

静态变量也称为类变量。

4、数据存储位置不同

成员变量存储在堆内存的对象中,所以也叫对象的特有数据。

静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据。

参考博客:https://blog.csdn.net/du_minchao/article/details/48881637

原文地址:https://www.cnblogs.com/LEPENGYANG/p/14984326.html