Java面试关键点:抽象、继承、封装与多态解析

4星 · 超过85%的资源 需积分: 0 18 下载量 157 浏览量 更新于2024-07-29 1 收藏 75KB DOCX 举报
"这篇资料包含了2012年的Java面试题目和答案,涵盖了核心的Java概念,如抽象、继承、封装和多态性,以及关于String类型、异常处理和Servlet生命周期的知识点。" 1. 抽象:在编程中,抽象是将复杂问题简化的一种方法。它关注的是与当前任务相关的关键特性,而忽略不相关的细节。抽象分为过程抽象和数据抽象。过程抽象让我们可以将一系列低级操作视为单一的高级操作。数据抽象则是定义数据类型及其相关的操作,限制对数据的访问只通过预设的方法进行。 2. 继承:继承是面向对象编程的一个关键特性,它允许新类(派生类)从已存在的类(基类)中继承属性和行为。这提高了代码的复用性,减少了重复编写相似代码的工作量。派生类可以在保留基类特性的基础上添加新的特性和方法,以适应特定需求。 3. 封装:封装是隐藏对象的属性和实现细节,仅通过公共接口来与外界交互。这种机制确保了数据的安全性,防止外部代码随意修改对象的状态,同时提供了更好的模块化。 4. 多态性:多态性允许不同类型的对象对相同的消息做出不同的响应。它分为参数化多态性和包含多态性,使得代码更加灵活,可以实现行为共享和代码复用,解决了命名冲突的问题。 5. String 类型:String 不是Java的基本数据类型,而是引用类型,属于 java.lang.String 类。由于 String 是 final 类,所以不能被继承,同时也意味着它的实例是不可变的,对于频繁修改字符串的情况,推荐使用 StringBuffer 或 StringBuilder 类。 6. 异常处理:异常是程序执行过程中遇到的错误状态。运行时异常是程序运行时可能出现的错误,它们通常不需要显式捕获。与一般异常相比,运行时异常是编译器不强制要求处理的,而普通异常则需要通过 try-catch 语句块来处理。 7. Servlet 生命周期:Servlet 的生命周期包括初始化(init)、服务(service)、销毁(destroy)三个阶段。当Servlet首次被请求时,服务器会创建Servlet的实例,并调用init方法进行初始化。每次请求到来时,Servlet容器会调用service方法,根据请求类型调用对应的doGet或doPost等方法。当服务器不再需要Servlet时,会调用destroy方法进行清理工作。与CGI(通用网关接口)相比,Servlet更高效,因为CGI为每个请求创建一个新的进程,而Servlet是在单个进程中处理多个请求,降低了资源消耗。