Integer和int的区别?为什么要设计封装类?

考察目标:考察求职者面向对象的理解程度,从封装类型的特性和功能全方位回答

Integer和int的区别?
Integer是基本数据类型int的封装类,在Java中有8中基本数据类型,它们都有一一对应的封装类型,基本类型和封装类型的区别有很多:
① int类型可以直接定义一个变量名赋值即可,但Integer需要使用new关键字创建对象
② 基本类型和封装类型混合使用时,Java会通过自动拆箱与装箱实现类型转换
③ Integer作为一个对象类型,封装了一些方法和属性,我们可以利用这些方法来操作数据
④ 作为成员变量,Integer的默认值是null,int的默认值是0
⑤ Integer存储在堆内存,int类型是直接存储在栈空间

为什么要设计封装类?
① 之所以要对基本数据类型设计一个对应的封装类型,是因为Java本身是一门面向对象的语言,对象是Java操作的基础单元,我们时时刻刻都在创建对象,也随时都在使用对象。
② 很多时候,在传递数据时,需要用到对象类型,比如ArrayList,HashMap这些集合,只能存储对象类型,从这一点来说,封装类型存在的意义就很大
③ 封装类型还有很多好处。比如安全性好,可以避免外部操作随意修改成员变量值,保证了成员变量和数据传递的安全性。隐藏了实现细节,对使用者更加友好,只需要调用对象提供的方法,就可以完成对象的操作

你可能感兴趣的:(Java,java)