对比:属性 vs 局部变量
- 相同点
- 定义格式相同:数据类型 变量名 = 变量值
- 先声明,后使用
- 都有对应的作用域
- 不同点
- 声明的位置不同
属性:直接定义在类的{ }中
局部变量:方法内,形参,代码块内,构造器形参,构造器内部的变量
- 权限修饰符的不同
属性:可以使用权限修饰符
局部变量:不能使用权限修饰符
-
默认初始化情况
- 属性:都有默认初始化值:
整型:(byte、short、int、long)— 0
浮点型:(float,double)— 0.0
字符型:char — 0(或‘\u0000’)
布尔型:boolean — false
引用数据类型(类、接口)— null- 局部变量:没有默认初始化值
-
在内存中加载的位置
属性:加载到堆空间中
局部变量:加载到栈空间中