1.java中成员变量和局部变量之间的区别。
1.相同点:
- 定义变量的格式都相同:数据类型 变量名 = 初始化语句;
- 先声明,后使用。
- 变量都有其对应的作用域
2.不同点
①在类中声明的位置不同。
-
成员变量:声明在类的{}内,方法的{}外
-
局部变量:声明在方法内,方法形参,代码块内,
②关于权限修饰符的不同
-
成员变量:可以在声明成员变量时,指明其权限,使用权限修饰符
-
权限修饰符:private、缺省、protected、public
-
局部变量:不可以使用权限修饰符
③默认初始化值得情况
-
成员变量:根据其类型,都有默认初始化值。
-
整型(byte,short,int,long):0
-
浮点型(float,double):0.0
-
字符型(char): 0 或者 '\u0000'
-
布尔型(boolean):false
-
引用数据类型(类、接口、数组):null
-
局部变量:没有默认初始化值,也就是在调用局部变量时,必须显性赋值。 形式参数在调用时,进行赋值。
④在内存中加载的位置不同
-
成员变量:加载到堆空间中(非static关键字修饰的成员变量)
-
局部变量:加载到栈空间中