- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Java基础面试题及答案(贴近真实面试场景)
一、基础语法类
面试官:说说Java里的基本数据类型有哪些?和引用数据类型的核心区别是什么?
答案:基本数据类型有8种,分别是byte、short、int、long、float、double、char、boolean,它们是Java的内置类型,直接存储值(比如inta=10,变量a里存的就是10本身)。引用数据类型是对对象的引用,比如String、数组、自定义类,变量里存的是对象在堆内存中的地址(比如Strings=abc,s存的是abc对象的内存地址,不是字符串本身)。核心区别:基本类型存储值,引用类型存储地址;基本类型在栈内存分配空间(局部变量),引用类型的对象在堆内存分配,引用变量在栈内存。
面试官:int和Integer有啥不一样?实际开发中什么时候用Integer?
答案:int是基本数据类型,没有方法和属性,默认值是0;Integer是int的包装类,属于引用类型,有丰富的方法(比如parseInt、valueOf),默认值是null。实际开发中,比如用集合(List、Map)存储数值时,集合只能存引用类型,这时候就得用Integer;还有数据库查询返回的数值可能为null,用Integer能接收(int不能存null,会报空指针);另外需要用到包装类提供的方法时(比如把字符串转成int),也会用Integer。
面试官:Java里的“==”和equals()的区别?举个实际例子说说。
答案:“==”对于基本数据类型,比较的是值是否相等(比如inta=10,intb=10,a==b是true);对于引用数据类型,比较的是内存地址是否相同(也就是是否指向同一个对象)。equals()是Object类的方法,默认实现和“==”一样(比较地址),但很多类(比如String、Integer)重写了equals(),改成了比较内容。例子:Strings1=abc,Strings2=newString(abc),s1==s2是false(s1指向常量池对象,s2指向堆内存对象,地址不同),s1.equals(s2)是true(比较字符串内容都是abc)。
二、面向对象类
面试官:Java的三大特性是什么?分别说说核心作用。
答案:三大特性是封装、继承、多态。封装是把对象的属性和方法隐藏起来,只对外提供公共访问方式(比如getter/setter),作用是保护数据安全,避免外部随意修改;继承是子类继承父类的属性和方法,作用是提高代码复用性(不用重复写父类已有的代码),比如Animal类有eat()方法,Dog类继承Animal后直接能用eat();多态是同一行为在不同对象上有不同表现(比如Animal的eat(),Dog实现为吃骨头,Cat实现为吃鱼),作用是提高代码灵活性和扩展性,比如用父类引用接收子类对象(Animalanimal=newDog()),后续替换成Cat对象也不用改代码。
面试官:final关键字能修饰什么?分别有什么效果?
答案:final能修饰类、方法、变量。修饰类:这个类不能被继承(比如String类是final的,不能写个类继承String);修饰方法:这个方法不能被子类重写(比如父类里finalvoidtest(),子类不能再写voidtest()覆盖);修饰变量:变量变成常量,只能赋值一次(基本类型常量值不能改,引用类型常量的地址不能改,但对象内容能改,比如finalListlist=newArrayList(),不能再给list赋值新的ArrayList,但能list.add()添加元素)。
面试官:抽象类(abstractclass)和接口(interface)的区别?什么时候用抽象类,什么时候用接口?
答案:核心区别有3点:①继承关系:抽象类只能单继承(一个子类只能继承一个抽象类),接口可以多实现(一个类能实现多个接口);②成员:抽象类可以有抽象方法(无实现)和普通方法(有实现),可以有成员变量;接口里的方法默认是publicabstract(JDK8后能有default方法和static方法),成员变量默认是publicstaticfinal(常量);③设计理念:抽象类体现“is-a”关系(比如DogisaAnimal,Animal可以是抽象类),侧重代码复用;接口体现“has-a”能力(比如Doghasa跑的能力,Run可以是接口),侧重规范约束。使
您可能关注的文档
- HBase 高频面试题及实战答案.docx
- HCIE面试高频题及实战答案.docx
- HDFS面试高频题及实战答案.docx
- Helpdesk面试题及参考答案.docx
- Hive 笔试题及参考答案.docx
- Hive高频面试题及参考答案.docx
- Hive面试高频题及实战答案.docx
- HR真实场景面试题及参考答案.docx
- HSE考试题库及答案(实操型).docx
- HSE知识考核试卷及答案.docx
- 基于SPC的供水管道工程施工质量管理:理论、实践与创新.docx
- 苍凉笔触下的人性凝视:论张爱玲小说的人性书写.docx
- 论我国行政公益诉讼原告资格制度的构建与完善.docx
- 双层石墨烯边界态对电导与谷极化的影响机制及应用前景探究.docx
- “21世纪海上丝绸之路”中心城市网络:建模解析与结构洞察.docx
- 农村信用社竞争力剖析与战略抉择:以A县农村信用社为样本的深度研究.docx
- 调节对人眼散光的影响:机制、规律与临床意义探究.docx
- 从传统到消费:中国武术的时代转型与融合发展.docx
- 探秘GlyRS:上游激酶的鉴定与激酶活性的深度解析.docx
- 平行式双水翼潮流能发电系统:能量转换机制与动态特性解析.docx
原创力文档


文档评论(0)