Java面试必备知识大全

需积分: 50 19 下载量 31 浏览量 更新于2024-07-19 收藏 1.34MB DOC 举报
Java面试题大全 Java作为一种流行的编程语言,在软件开发行业中有着广泛的应用。面试时,Java相关问题是必不可少的一部分。下面是对Java面试题大全的知识点总结: 1. ArrayList, Vector, LinkedList的存储性能和特性: ArrayList和Vector都是使用数组方式存储数据,数组元素数大于实际存储的数据以便增加和插入元素。它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差。而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 2. List、Map、Set三个接口存储元素时各有什么特点? List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。 Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。 Map接口:请注意,Map没有继承Collection接口,Map提供key到value的映射。 3. abstract class和interface有什么区别? 声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface)是抽象类的变体。新型多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,所有成员变量都是public static final的。一个类可以实现多个接口,当类实现接口时,必须实现接口的所有方法。抽象类在Java语言中表示的是一种单继承的关系,对于interface来说则不然,并不要求interface的实现者和interface之间存在继承关系。 在Java面试中,掌握这些知识点非常重要,可以帮助开发者更好地理解Java语言的特性和应用场景。