java基本类型和包装类型

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

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

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

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

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

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

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

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

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

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

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

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

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

 


版权声明:本文为u010126792原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。