一.相同点:1.都遵循变量的声明格式:(修饰符) 数据类型 变量名=初始化值
2.都有各自的作用域
二.不同点:1.声明的位置不同 成员变量:声明在类内,方法外。
局部变量:声明在方法内、方法的形参部分、代码块内
2.成员变量的修饰符有四个:public private protected 缺省
局部变量没有修饰符,硬要说有的话,与他的所在方法的修饰符相同
3.初始化值
成员变量:在声明的时候如果没有显示的赋值,各自数据类型有自己的默认初始化值
byte short int long ==>0
float double==>0.0
char==>空格
boolean==>false
引用数据类型==>null
局部变量:必须要显示的赋值,局部变量没有默认的初始化值
4.二者在内存中的存储位置不同,局部变量存储在栈空间中,成员变量存储在堆空间中。
总结:
变量的分类:按照数据数据类型分类:基本数据类型(8种),引用数据类型
按照声明的位置不同分类:成员变量 && 局部变量
局部变量在内存中的位置说明:以方法的形参局部变量为例:见下图。
来源:https://www.cnblogs.com/yunqing/p/4764515.html