Java面试重点:OOP、类与对象解析及STRING vs STRINGBUFFER

需积分: 0 1 下载量 197 浏览量 更新于2024-09-11 收藏 33KB DOC 举报
"Java面试题相关知识" 在Java面试中,常常会涉及到一些核心概念和技术,以下是基于题目给出的部分内容的详细解释: 1) OOP(面向对象编程)是一种编程范式,它强调以对象为中心,而不是以过程为中心。类是OOP的基础,是用来创建对象的模板。对象是类的实例,它们包含了数据(属性)和行为(方法)。类是对具有相同特性的对象的抽象,而对象则是类的具体表现。类是静态的,存在于内存中的一份蓝图,而对象是动态的,是根据类创建的实例。 2) 类与对象的关系如同模板与实例。类定义了对象的结构和行为,它包含了数据成员(变量)和成员函数(方法)。对象则是类的实例,拥有类定义的所有属性和行为。类是一种抽象的数据类型,用于描述一类实体,而对象是具体的实体,代表类的每一个实例。 3) `String` 和 `StringBuffer` 主要区别在于可变性。`String` 是不可变的,每次对字符串进行修改(如拼接)都会创建一个新的字符串对象,这可能导致性能问题。而 `StringBuffer` 是可变的,内部维护了一个字符数组,可以进行多次修改而无需每次都创建新的对象。在频繁修改字符串内容时,推荐使用 `StringBuffer`,若最后需要字符串形式的结果,可以通过调用 `toString()` 方法转换。 4) 在Java中,`char` 类型变量可以存储一个中文汉字,因为Java使用 Unicode 编码,每个 `char` 占用16位(2个字节),足够存储一个中文字符。Unicode 支持包括中文在内的多种语言字符。 5) JVM(Java Virtual Machine)加载类文件的过程涉及类加载器(ClassLoader)及其子类。类加载器负责找到类的二进制数据,验证其格式,解析数据,并最终初始化类。这个过程分为加载、验证、准备、解析和初始化五个阶段。加载是找到类的.class文件,验证确保类文件的正确性,准备为类的静态变量分配内存并初始化为默认值,解析将符号引用转换为直接引用,初始化执行类的初始化方法。类加载是动态的,只有在类被首次使用时才会加载。 以上是Java面试中常见的问题和答案,这些知识对于理解和解答Java相关的面试题至关重要,同时也是成为一名合格的Java开发者所必须掌握的基础内容。
hjh63778588
  • 粉丝: 0
  • 资源: 4
上传资源 快速赚钱