个人学习所用,有错误和不足之处欢迎指出和补充。
目录
前言
基本数据类型与封装类的区别:(用 int 和 Integer 举例)
为什么要使用封装类:
前言
Java中存在八种基本数据类型:(整数型)byte、short、int、long,(浮点型)float、double,(字符型)char,(布尔型)boolean。
其对应的封装类型为:Byte、Short、Integer、Long、Float、Double、Character,Boolean。
除此之外,还有一个没有基本数据类型但常用的封装类:String。
基本数据类型与封装类的区别:(用 int 和 Integer 举例)
在使用时发现在创建时方式不同:int型直接给一个变量名并赋值即可;而Integer需要创建一个对象,再为这个对象传入一个参数。但是最后输出的结果却是一样的。
但是IDE却报了一个警告,说此处的 Integer 是不必要的装箱并弃用,并且建议改为 int 型
由于暂时还未学习到这么深入的地步,所以就简单了解一下吧。通过上网查资料,简单来说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。
所以由此看来,在数值方面,两者是一样的。只是引用他们的值的话,甚至会建议使用基本数据类型。
而两者之间的区别是 Integer 是一个类,其中封装了许多方法和属性,然后就可以利用这些方法和属性来处理数据,而 int 数据类型就做不到。另一个区别在于两者的默认值不同,int型的默认值为0,而对于Integer来说,因为封装类产生的是一个对象,所以其的默认值为null。
而当Integer对象调用相应的方法后,就已经不是单纯的值了,甚至已经将赋值转化成了其他类型。
为什么要使用封装类:
- 有使用需求
Java是一门面向对象的语言,我们时时刻刻都在创建对象,也随时都在使用对象,很多时候在传递数据时需要的正是对象类型。而将某个基本数据类型进行封装后相当于就是一个对象,就可以拥有自己的属性和方法,当有了这些方法后,我们就可以利用其来处理数据了。
- 安全性好
将java类进行封装后类内部的结构可以自由修改,也可以对成员变量进行更精确的控制,同时还可以避免其他类随意修改自己的成员变量,内部细节被隐藏了以及不能随意破坏,也就保证了成员变量以及数据传递的安全性。
- 结构不同
在性能结构上来说,基本数据类型(int i)是在栈上创建的,而对象类型(new Integer())在堆上创建。堆能获得的空间较大,且堆中的具体内容是人为安排的,这样就能更方便地使用一些基本类型不具备的方法。
- 隐藏细节,对外提供接口方便使用
举个例子,一辆汽车包含许多的零件,每个零件都有自己的作用,但最终要组装在一起才能成为一辆汽车。对于开车的人来说,汽车里面的零件长什么样子并不重要,只要能够开走就行;汽车有方向盘,就相当于接口,只要接口统一,任何一个会开车的人都能将这辆车开走。
- 可维护性好,方便重用
在需要的时候,只需要进行内部结构和数据的更改,而不改变对外接口,,对其的引用就不会受到影Java为什么有基础类型封装类响;在需要重复使用时也可以直接引用,就像一辆车可以给很多人开。
总之就是,既实现了数据的安全,又能够更好地对数据进行操作。让代码结构易于解释和理解,同时还能提供多种方案(封装不同的方法和属性)来适应不同的需求。既提高了开发效率也提高了代码的质量。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/26242.html