Java面试必备:基础、封装、继承与多态

需积分: 0 0 下载量 131 浏览量 更新于2024-08-02 收藏 91KB DOC 举报
"Java面试100问涵盖了Java的基础知识,适合快速复习Java的考生。" 在Java面试中,常见的知识点主要包括以下几个方面: 1. **面向对象的特征**: - **抽象**:抽象是将复杂的实体简化为关键特征的过程,它允许我们关注主要目标而忽略不相关细节。在编程中,抽象体现在设计类和接口,隐藏实现细节。 - **继承**:继承是类之间的层次关系,允许子类继承父类的属性和方法。这样可以重用代码,提高代码复用率,同时通过覆盖或添加新方法来适应特定需求。 - **封装**:封装是将数据和操作数据的方法捆绑在一起,对外只暴露有限的接口,防止数据被随意修改。这是面向对象编程的核心特性之一。 - **多态性**:多态性使得不同的对象可以对同一种消息作出响应。多态分为编译时多态(方法重载)和运行时多态(方法重写)。 2. **String 类型**: - Java中的`String`不是一个基本数据类型,而是引用类型,属于`Object`的子类。它是不可变的,这意味着一旦创建就不能修改。如果需要频繁修改字符串,应使用`StringBuilder`或`StringBuffer`类,以提高性能。 3. **int 和 Integer 的区别**: - `int`是Java的原始数据类型,它在内存中直接存储数值,不需要额外的对象开销。 - `Integer`是`int`的封装类,它是一个对象,提供了额外的方法和功能。在需要对象操作或者处理集合时,会用到Integer。同时,Integer对象在某些情况下(如自动装箱拆箱)可以与int互换使用。 4. **原始类型与引用类型的区别**: - 原始类型(如int、char等)直接存储在栈中,处理速度快,占用内存小。 - 引用类型(如String、Integer等)存储的是对象的引用,实际对象存储在堆中,使用时需要额外的内存分配和垃圾回收。引用类型的默认值为`null`,而原始类型的默认值根据类型不同(如0、false等)。 5. **Java 类型转换**: - 在Java中,可以通过强制类型转换将高精度类型转换为低精度类型,但可能会丢失数据。 - 自动类型转换(升格)发生在原始类型与它们对应的封装类之间,以及范围小的原始类型向范围大的原始类型转换。 6. **异常处理**: - Java使用`try-catch-finally`语句块处理异常,提供了一种结构化的错误处理机制。 - `Exception`是所有Java异常的父类,分为检查异常(需要捕获或声明)和运行时异常(可选捕获)。 7. **集合框架**: - Java集合框架包括List、Set、Map等接口,以及ArrayList、LinkedList、HashSet、HashMap等实现类。 - 集合框架提供了丰富的操作,如添加、删除、查找元素,以及遍历和转换等。 8. **线程与并发**: - Java提供了`Thread`类和`Runnable`接口来实现多线程。 - 并发控制使用`synchronized`关键字、Lock接口(如ReentrantLock)以及并发工具类(如Semaphore、CountDownLatch)。 9. **反射机制**: - 反射允许程序在运行时动态获取类的信息并操作类的对象,提供了极大的灵活性。 10. **IO 流**: - Java的IO流模型包括字节流和字符流,分为输入流和输出流,提供了读写文件、网络通信等功能。 - NIO(New IO)是Java 1.4引入的新特性,提供了非阻塞I/O操作和缓冲区管理。 以上是Java面试中常遇到的一些核心知识点,掌握这些能帮助面试者更好地应对面试挑战。在准备面试时,除了理解这些概念,还要关注其实现原理、使用场景以及最佳实践。