阿里Java高频面试题及实战详细答案(真实面经版).docxVIP

  • 3
  • 0
  • 约6.02千字
  • 约 8页
  • 2026-07-24 发布于河北
  • 举报

阿里Java高频面试题及实战详细答案(真实面经版).docx

阿里Java高频面试题及实战详细答案(真实面经版)

一、Java基础核心(阿里一面必问)

1.重载和重写的区别?实际项目中怎么用?

核心区别(直白总结):重载是同一个类里的“方法多版本”,编译期绑定;重写是父子类之间的“方法覆盖”,运行期绑定。

具体细节:

重载(Overload):方法名必须相同,参数个数、类型、顺序不同,返回值、修饰符不做限制。属于静态多态,编译时就确定调用哪个方法。

重写(Override):父子类/接口实现关系,方法名、参数列表、返回值(协变返回)必须一致;子类修饰符权限不能比父类严格,不能抛出更宽泛的异常。属于动态多态,运行时绑定。

项目实战场景:

重载:工具类常用,比如StringUtils的trim()、trimToEmpty(),Service层根据不同参数查询数据,findById(Longid)、findByPhone(Stringphone)。

重写:业务场景重写父类通用方法,比如全局异常处理器重写Exception的getMessage(),自定义业务异常信息;或者Spring组件重写init-method、destroy-method。

2.String为什么不可变?常量池原理?newString()创建几个对象?

不可变原因:String底层是final修饰的char数组(JDK9+是byte数组),且类和核心方法都被fina

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档