成员变量与局部变量
今天帮大家梳理成员变量与局部变量的相同点与不同点,我相信大家在初学java时,对java的变量这个概念了解是一知半解的,我先简单的帮助大家梳理一下。
首先变量的概念:内存中的一小块单元。用于存储数据。在整个程序的执行过程中,数值是可以改变的。叫变量。
要想使用变量,就要先变量定义。变量的定义分为声明和赋值,有些变量可以声明后就使用,有的必须赋值后才可以使用,这就谈到了成员变量与局部变量这两个概念。
变量的分类:从数据类型分类可以分为:基本数据类型 + 引用数据类型 从声明的位置分类可以分为:成员变量 + 局部变量
下面重点说明成员变量与局部变量 先用一张图让大家明白成员变量和局部变量有哪些

两者的异同 一、相同点 1 、两者定义变量的格式都是 数据类型 变量名 = 变量值
2、两者都先声明后使用。(成员变量可以在声明后就使用,因为其有默认初始化值,局部变量声明后还要赋值才能使用,因为其无默认初始值)
3、 两者变量都有其使用域。
二、不同点:
1 在类中声明的位置的不同
属性:直接定义在类的一对{}内
局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量
2 关于权限修饰符的不同
属性:可以在声明属性时,指明其权限,使用权限修饰符。
常用的权限修饰符:private、public、缺省、protected
局部变量:不可以使用权限修饰符。
3 默认初始化值的情况:
属性:类的属性,根据其类型,都有默认初始化值。
1、 整型:0 2、浮点型:0.0 3、字符型:0 (或'\u0000') 4、布尔型:false 5、引用数据类型:null
局部变量:没有默认初始化值。 意味着,我们在调用局部变量之前,一定要显式赋值。 特别地:形参在调用时,我们赋值即可。
4 在内存中加载的位置:属性:加载到堆空间中 (非static)局部变量:加载到栈空间