复习知识点
1. 面向对象的三大特性是什么?封装、继承、多态分别解决了什么问题?(面试官考核目标:考察对 OOP 本质的理解)
面向对象三大特性是封装、继承和多态。封装是为了隐藏内部实现,保证数据安全;继承是为了复用父类代码,减少重复;多态是为了让同一接口在不同对象上有不同表现,提高代码的扩展性和灵活性,多态的核心是让程序面向接口编程,符合开闭原则,对扩展开放修改关闭
2. 接口和抽象类的区别是什么?Java 8 之后接口发生了哪些变化(默认方法/静态方法)?(面试官考核目标:考察抽象能力与设计取舍,以及是否跟进了语言演进)
抽象类表达的是“是什么”的继承关系,接口表达的是“能做什么”的能力契约。抽象类可以有成员变量和构造方法,接口在 Java 8 前只能有常量和抽象方法。Java 8 之后接口增加了默认方法和静态方法,主要目的是在接口升级时避免影响所有实现类,增强了接口的扩展能力。
3. 方法重写(Override)和方法重载(Overload)的区别?(面试官考核目标:考察编译期静态绑定与运行期动态绑定的区别
重载发生在同一个类中,方法名相同但参数列表不同,是编译期静态绑定;重写发生在子类中,方法签名完全一样但实现不同,是运行期动态绑定。重载关注“参数不同”,重写关注“实现不同”。

浙公网安备 33010602011771号