【JAVA学习笔记】属性 vs 局部变量

本文探讨了属性和局部变量在声明、初始化、权限和内存位置上的异同。属性作为类的成员,可使用访问修饰符,并在堆中分配内存;而局部变量仅存在于方法或代码块内,无默认初始化且存储于栈中。理解这些差异对于优化代码和内存管理至关重要。
摘要由CSDN通过智能技术生成

在这里插入图片描述

相同点:

  1. 定义变量的格式:数据类型 变量名 = 变量值
  2. 都要先声明,后使用
  3. 都有相对应的作用域

不同点:

  1. 在类中声明的位置的不同

    • 属性定义在类中
    • 局部变量声明在方法中、代码块中或者当作形参
  2. 权限修饰符不一样

    • 属性可以使用private、public、缺省、protected
    • 局部变量不能使用权限修饰符(因为在一个方法中的作用域已经很小,没必要加权限了)
  3. 默认初始化的值不同

    • 属性都会根据其类型自动默认初始化。

      例如:

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

    • 局部变量没有默认初始化的值必须显示赋值

  4. 在内存中加载的位置不同

    • 非static属性会加载到堆空间中
    • 局部变量会加载到栈空间中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值