Java面试必备知识点:面向对象、重载与重写、equals与==

需积分: 0 0 下载量 175 浏览量 更新于2024-08-04 收藏 59KB DOCX 举报
"Java面试题笔记,包含了Java基础、面向对象特性、数据类型、JDK、JRE、JVM的区别以及方法重载和重写、==与equals的区别等关键知识点。" Java面试题笔记主要涵盖了Java语言的核心概念,以下是详细解释: 1. 面向对象的特征: - 封装:封装是将数据和操作数据的方法绑定在一起,对外只提供公共接口来访问。使用private修饰成员变量和方法,以防止外部直接访问,提高数据安全性。 - 继承:子类继承父类,获取父类的属性和方法,并可扩展新功能,实现代码复用。 - 多态:允许父类类型的引用指向子类对象,子类可以覆盖父类的方法,使得同一方法在不同子类中有不同的实现,提高程序灵活性。 - 抽象:抽象类用abstract修饰,包含抽象方法,用于定义接口或者作为其他类的基类,抽象类不能实例化,只能被子类继承。 2. Java基本数据类型: - 整型:byte、short、int、long,分别代表8位、16位、32位和64位的整数。 - 浮点型:float(单精度,32位)、double(双精度,64位)。 - 布尔型:boolean,只有两个值:true和false。 - 字符型:char,16位,使用Unicode编码,表示单个字符。 3. JDK、JRE和JVM的区别: - JDK(Java Development Kit):Java开发工具包,包含JRE和开发工具如编译器、调试器等。 - JRE(Java Runtime Environment):Java运行环境,包含JVM和Java核心类库,用于运行Java程序。 - JVM(Java Virtual Machine):Java虚拟机,是Java程序运行的平台,负责执行字节码。 4. 重载和重写: - 重载(Overloading):在同一类中,方法名相同但参数列表不同(参数类型、个数或顺序不同),与返回类型和访问修饰符无关。 - 重写(Overriding):发生在子类与父类之间,子类重写父类的非final和非静态方法,方法名、返回类型和参数列表必须完全一致。 5. ==与equals的区别: - ==:对于基本类型,比较的是值是否相等;对于引用类型,比较的是对象的内存地址,即是否指向同一个对象实例。 - equals:默认情况下,equals方法与==相同,但可以通过重写equals方法来比较对象的内容是否相等,例如String类就重写了equals方法,比较字符串内容。 这些知识点是Java面试中常见的问题,深入理解和掌握它们对于提升面试成功率至关重要。