【Java面试】Integer和int的区别,Java为什么要设计封装类?
“Integer和int的区别?Java为什么要设计封装类?” 虽然经常使用,但是很少去关注为什么,导致面试遇到这个问题就懵了。 大家好,我是咕泡科技的联合创始人Mic 关于这个问题,我们来分析一下面试官的考察意图考察目的
这是一个典型的Java基础问题,本质上来说,这个问题是考察求职者对于面向对象的理解程度。
也是在考察求职者的基本功,越是简单常见的东西,就越能体现求职者的基础扎实程度。
这类问题一般是考察1~3年开发经验的同学。
在回答这个问题的时候,尽量从封装类型的特性和功能全方位的去回答。
问题分析
Integer是基本数据类型int的封装类。
在Java里面,有八种基本数据类型,他们都有一一对应的封装类型。
基本类型和封装类型的区别有很多,比如
int类型,我们可以直接定义一个变量名赋值即可,但是Integer需要使用new关键字创建对象基本类型和Integer类型混合使用时,Java会自动通过拆箱和装箱实现类型转换Integer作为一个对象类型,封装了一些方法和属性,我们可以利用这些方法来操作数据。作为成员变量,Integer的默认值是null,而int的默认值是0
要是真正列数出来,还可以挖掘更多的差异点。
在Java里面,之所以要对基础类型设计一个对应的封装类型。
是因为Java本身是一门面向对象的语言,对象是Java语言的基础单元,我们时时刻刻都在创建对象,也随时都在使用对象,很多时候在传递数据时也需要对象类型,比如像ArrayList、HashMap这些集合,只能存储对象类型,因此从这个点来说,封装类型存在的意义就很大。
其次,封装类型还有很多好处,比如
安全性较好,可以避免外部操作随意修改成员变量的值,保证了成员变量和数据传递的安全性隐藏了实现细节,对使用者更加友好,只需要调用对象提供的方法就可以完成对应的操作高手
Integer和int的区别有很多,我简单说3个方面
Integer的初始值是null,int的初始值是0Integer存储在堆内存,int类型是直接存储在栈空间Integer是对象类型,它封装了很多的方法和属性,我们在使用的时候更加灵活。
至于为什么要设计封装类型,最主要的原因是Java本身是面向对象的语言,一切操作都是以对象作为基础。
比如像集合里面存储的元素,也只支持存储Object类型,普通类型无法通过集合来存储。
总结
因为平时没有总结过,大脑一开始肯定是一篇空白的。
遇到特别基础的问题,先不用急着回答,好好整理一下思路。
找到问题的关键因素,然后以此为切入点去回答,一般是没什么问题的。
好的,本期的文章就到这里结束了
最新的资料文档已整理,包含如下↓(还在持续更新中!):①100道最新大厂经典面试题解析资料文档!②20万+字Java面试题解析和配套答案!③从应届生到高级开发都适用的简历模板!④从入门到精通的架构师学习路线图!⑤还有各种技术流程图,路径图!有需要的 Si 我 “Mic”拿!
上一篇:【印象武山】笔底春风一一武山先贤书画作品线上展(第一期)
下一篇:浙江省温州市2023届高三下学期第二次适应性考试(二模)语文试题及答案解析
最近更新基础教育
- 聚焦中心任务 强化精准指导 确保第二批主题教育取得高质量好效果
- 郑州:到2025年,职业院校毕业生留郑率将超六成
- 普陀一小区拆除重建工作加速推进
- 官宣!江苏新增5所四星级高中
- 波士顿大学金融硕士排名靠前吗
- 成人自考考试地点是根据什么安排的?
- 彩色“毛衣”扮靓路边梧桐 南外师生发起“我们的梧桐”城市艺术公益活动
- 武向平院士助力首届四川省“科创筑梦”青少年科学节
- 长城热点|河南安阳滑县安罗高速高速公路建设非法取土
- 王易副校长赴广西参加定向选调生及引进高水平大学博士座谈会并看望校友
- 四川成考中遇到不会作答的题该怎么做呢?
- “外国语学院人才培养共同体联盟”在江苏科技大学组建
- 长沙市人社局前往长沙市数字技能人才公共实训基地考察
- 百姓看联播丨提速啦!坐着高铁去滑雪丨燃起来!足球小将
- 闵行专家!落户新疆这里→丨一家亲
- 严查遛狗不拴绳!郑州多个小区发布“文明养犬”提醒
- 对话高途大学生业务负责人刘文勇:AI数字人是集团三大战略之一,未来或是千亿级市场
- 北京市2023年下半年高等教育自学考试提示
- 没有大专毕业证可以自考本科吗?
- 奥运冠军自曝:需终身佩戴呼吸机!协和专家提醒,这病危险,得治!
- 这场培训,给崇明这群人送上一份“安全大餐”
- 5∶0零封法国波尔多大学女足 北师大女足挺进决赛
- 托福总成绩是多少分
- 原“暨南大学全球青年领导力研究院院长”被举报“猥亵”?本人回应称系双方自愿行为
- 前三季度五粮液继续保持稳健发展态势