一线大厂面试真题——Integer和int的区别?Java为什么要设计封装类

本文讨论了Java中Integer和int的区别,包括初始值、内存位置和封装特性。重点强调了设计封装类的原因,即Java作为面向对象语言的需求和封装类型带来的安全性和便利性。
摘要由CSDN通过智能技术生成

概述

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

虽然经常使用,但是很少去关注为什么,导致面试遇到这个问题就懵了。

考察目的

这是一个典型的Java基础问题,本质上来说,这个问题是考察求职者对于面向对象的理解程度。

也是在考察求职者的基本功,越是简单常见的东西,就越能体现求职者的基础扎实程度。这类问题一般是考察1~3年开发经验的同学。

在回答这个问题的时候,尽量从封装类型的特性和功能全方位的去回答。

问题分析

Integer是基本数据类型int的封装类

在Java里面,有八种基本数据类型,他们都有一一对应的封装类型。

基本类型和封装类型的区别有很多,比如:

    1、int类型,们可以直接定义一个变量名赋值即可,但是Integer需要使用new关键字创建对象

    2、基本类型和Integer类型混合使用时,Java会自动通过拆箱和装箱实现类型转换

    3、Integer作为一个对象类型,封装了一些方法和属性,们可以利用这些方法来操作数据。

    4、作为成员变量,Integer的默认值是null,而int的默认值是0要是真正列数出来,还可以挖掘更多的差异点。

在Java里面,之所以要对基础类型设计一个对应的封装类型。

是因为Java本身是一门面向对象的语言,对象是Java语言的基础单元,们时时刻刻都在创建对象,也随时都在使用对象,很多时候在传递数据时也需要对象类型,比如像ArrayList、HashMap这些集合,只能存储对象类型,因此从这个点来说,封装类型存在的意义就很大。

其次,封装类型还有很多好处,比如:

    1、安全性较好,可以避免外部操作随意修改成员变量的值,保证了成员变量和数据传递的安全性

    2、隐藏了实现细节,对使用者更加友好,只需要调用对象提供的方法就可以完成对应的操作

问题解答

Integer和int的区别有很多,简单说3个方面:

    1、Integer的初始值是null,int的初始值是0

    2、Integer存储在堆内存,int类型是直接存储在栈空间

    3、Integer是对象类型,它封装了很多的方法和属性,们在使用的时候更加灵活。至于为什么要设计封装类型,最主要的原因是Java本身是面向对象的语言,一切操作都是以对象作为基础。

比如像集合里面存储的元素,也只支持存储Object类型,普通类型无法通过集合来存储。

总结

因为平时没有总结过,大脑一开始肯定是一篇空白的。

遇到特别基础的问题,先不用急着回答,好好整理一下思路。

找到问题的关键因素,然后以此为切入点去回答,一般是没什么问题的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值