属性 vs 局部变量---Java

对比:属性 vs 局部变量

  1. 相同点
  • 定义格式相同:数据类型 变量名 = 变量值
  • 先声明,后使用
  • 都有对应的作用域
  1. 不同点
  • 声明的位置不同

属性:直接定义在类的{ }中
局部变量:方法内,形参,代码块内,构造器形参,构造器内部的变量

  • 权限修饰符的不同

属性:可以使用权限修饰符
局部变量:不能使用权限修饰符

  • 默认初始化情况

    • 属性:都有默认初始化值:

    整型:(byte、short、int、long)— 0
    浮点型:(float,double)— 0.0
    字符型:char — 0(或‘\u0000’)
    布尔型:boolean — false
    引用数据类型(类、接口)— null

    • 局部变量:没有默认初始化值
  • 在内存中加载的位置

属性:加载到堆空间中
局部变量:加载到栈空间中

猜你喜欢

转载自blog.csdn.net/E_chos/article/details/113350678