成员和局部变量有以下几点区别:
- 定义
- 默认值
- 使用范围
- 内存位置
- 生命周期
定义
- 成员变量定义在类下面,方法的外部
- 局部变量定义在方法内部
默认值
- 成员变量会有默认值,规则和数组一样
- 局部变量没有默认值,如果想要使用,必须手动进行赋值
使用范围
- 成员变量整个类都可以使用,作用于全局
- 局部变量只局限于当前方法内部,出了该方法就不能使用
内存位置
- 成员变量在堆内存中分配空间
- 局部变量在栈内存中分配空间
生命周期
- 成员变量生命周期作用于当前对象,随着当前对象的创建而诞生,随着当前对象的回收而消失
- 局部变量生命周期作用于方法,随着方法进入栈而近栈,随着方法结束出栈而消失
网友评论