java基本类型和包装类型

java是面向对象的语言为什么还要有基本类型,只有包装类型完全面向对象不行吗?

java语言可以只有基本类型吗,为什么还有要包装类型?

java中的基本类型和包装类型:

  基本类型    包装器类型  
booleanBoolean
charCharacter
intInteger
byteByte
shortShort
longLong
floatFloat
doubleDouble

基本类型和包装类型的区别:

定义方式不同:基本类型直接定义,包装类型需要new

存放位置不同:包装类型存储在堆中通过引用使用,基本类型存储在虚拟机栈中(所以int a  ,Point p 都是存储在虚拟机栈中的)

初始值不同:基本类型初始值可能为0,false,0.0等,包装类型一般为null

使用场景不同:包装类型一般用在集合中,基本类型直接使用就行。

只使用基本类型或者包装类型可以吗?

单从java语言来说只是用包装类型可以,但是只有基本类型就会有点问题(集合),基本类型可以实现大部分操作,但是基本类型不具备类的特性,包装类型是对基本类型的封装,两者之间可以相互转化,丰富了基本类型的操作。

既然只使用包装类型可以,为什么还要有基本类型?

基本类型存储在虚拟机栈中,不像java中的类存储在堆中需要通过引用才能使用,可以发现基本类型使用效率更高,更节省内存,而变成工程中基本类型的使用大量且频繁,所以使用基本类型可以节省大量资源,提高效率。

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值