Java面试问题及答案
1. 解释Java中的多态性以及它是如何实现的?
问题:在Java中,多态性是什么?请解释它如何工作。
答案:
多态性是面向对象编程中的一个核心概念,它允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。在Java中,多态性主要通过两种方式实现:方法重写(运行时多态)和方法重载(编译时多态)。
- 方法重写:子类可以重写父类的方法,当通过父类的引用调用该方法时,实际执行的是子类的实现。这是动态多态,因为在运行时才确定调用哪个方法。
- 方法重载:同一个类中可以有多个同名方法,但参数列表不同(参数类型或数量)。编译器在编译时根据方法签名确定调用哪个方法。
2. Java中的垃圾回收是什么?它是如何工作的?
问题:请描述Java中的垃圾回收机制,并解释它是如何帮助管理内存的。
答案:
Java中的垃圾回收(Garbage Collection, GC)是一种自动内存管理机制,用于识别和删除不再使用的对象,从而释放内存。垃圾回收的主要目的是减少内存泄漏和不必要的内存占用。Java虚拟机(JVM)负责周期性地执行垃圾回收任务。
- 标记-清除算法