java面向对象面试速查手册是开发者归纳的高频考点清单,核心路径为按特性(封装/继承/多态/抽象)、关键字(class/new/final等)、对比题(== vs equals、接口 vs 抽象类)、错误场景四类定位,强调逻辑关系与代码验证。

按特性查:封装、继承、多态、抽象
这是最常用路径。面试官常以“请说说多态的实现条件”或“封装为什么用private+getter/setter”切入。
- 封装:重点查访问修饰符作用域(private仅本类、default同包、protected同包+子类、public任意)、getter/setter的设计意图(控制赋值逻辑、支持后期扩展)
-
继承:查
extends语法、父类构造器调用规则(子类构造器第一行默认super())、方法重写(Override)的三要素(同名、同参、协变返回) - 多态:查前提(继承/实现 + 重写 + 父类引用指向子类对象)、运行期绑定机制、不能调用子类特有方法的限制
-
抽象:查
abstract class与interface区别(构造器、成员变量、方法默认权限、JDK8+默认/静态方法支持)
按关键字查:class、object、new、extends、implements、super、this、final
每个关键字背后都连着具体语义和常见陷阱。
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
-
new创建的是对象实例,不是类;class是模板,object是内存中的具体存在 -
super()必须在子类构造器首行,否则编译报错;this()同理,且二者不能共存 -
final修饰类→不可继承;修饰方法→不可重写;修饰变量→引用地址不可变(但对象内部状态可变)
按对比题查:类 vs 对象、== vs equals、接口 vs 抽象类、重载 vs 重写
这类问题几乎必问,查法是抓住“一个维度、一个差异点”。
- 类 vs 对象:类是抽象定义(蓝图),对象是具体实例(房子);类不占堆内存,对象占
- == vs equals:==比较引用地址(基本类型比值);equals默认行为同==,重写后通常比较业务字段(如String、自定义类)
- 接口 vs 抽象类:接口强调“能做什么”(契约),抽象类强调“是什么”(模板);一个类可实现多个接口,但只能继承一个抽象类
- 重载(Overload)vs 重写(Override):重载发生在同一类中,参数列表不同;重写发生在父子类间,签名相同、访问权限不更严格
按错误场景查:哪些写法会编译失败?哪些运行时才暴露?
真正体现理解深度的地方。例如:
- 静态方法里直接调用
this或非静态成员 → 编译报错 - 子类重写父类
private方法 → 实际是定义新方法,不构成重写 - 重写了
equals但没重写hashCode→ 放入HashSet可能丢失元素 - 父类引用调用子类特有方法 → 编译不通过,必须强转或使用instanceof防护
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










