Java基础之成员变量与局部变量

  • Post author:
  • Post category:java


局部变量:定义在函数(方法)中的那些变量。

局部变量只在定义它的方法


(


函数


)


中有效。

成员变量:定义在类的成员位置上的变量。成员变量在整个类中都有效。(全局变量是成员变量的俗称)。

成员变量又分为 实例(对象)变量 和 类变量(static静态变量)。(先了解,后面会详细讲解)

class Car{

String color;//color为实例变量

static Stringname; //只要有关键字static修饰,name为类变量

}

不管是成员变量还是局部变量它们都符合java基础学习的变量的定义规则。

1) 数据类型 变量名 ;

2) 数据类型 变量名=值;

思考下面代码的结果是什么?


注意

:在类中和该类的一个函数中,同时存在一个相同类型相同名称的变量,在函数被执行时,函数中优先使用定义在函数中的变量(局部变量)。


优先级

:先使用内部的,再使用外部的(先去内部找,有就使用。没有则再去外部找)就近原则。

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

1、从定义上来讲:

局部变量定义在函数中。

成员变量定义在类中。

2、从内存存储上来讲:

局部变量随着函数的运行会在栈内存中出现,局部变量存储在栈内存中。

成员变量会随着对象的出现在堆中存在,成员变量存储在堆内存中。

3、从初始值上来讲:

局部变量在定义时需要指定初始值(局部变量没有默认值),只有初始化之后才能使用。

成员变量可以不用初始化,有默认值。

4、从存活时间上来讲(生命周期)

局部变量是随着函数的进栈在函数所属的栈内存中存在,随着函数的出栈就消失。

成员变量是随着对象的出现在堆中出现。随着对象的消失而消失。

更多 java学习精讲 q裙 603835449 群里大佬随时解答问题 欢迎技术交流



版权声明:本文为youngpeople_原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。