1. 前言
前几天,济南的一家公司来我们学校进行校招。工作室的创始人在那家公司混的还不错,本来人家公司并没有把我们学校作为被招聘的学校,是我们工作室的创始人极力推荐才来我们学校进行招聘,但是我们学校不重视,导致没有几个人参加招聘会,去的基本上都是大三的,有老师的原因也有我们的原因。估计人家明年可能也不会来了,下面说下面试中我出现的问题(由于只参加了笔试,所以只说笔试)
2. 笔试题
一:接口和抽象类的区别? 抽象类 1>用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。 2>含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。 3>抽象类不能被实例化。 4>抽象方法只需声明,不需要实现。 接口 1>接口是抽象方法和常量值的定义的集合 2>从本质上讲,接口是一种特殊的抽象类(可以不用写abstract),这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。 3>接口的特性 1)接口可以多重实现 2)接口中声明的属性默认为public static final的,也只能是public static final的; 3)接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的 4)接口中可以继承其他接口,并添加新的属性和抽象方法 4>接口(解释) 1)多个无关的类可以实现同一个接口。 2)一个类可以实现多个无关的接口。 3)与继承关系类似,接口与实现类之间存在多态性 区别 1)接口中不能有方法的实现和变量的声明,抽象类中可以 2)接口中的方法缺省方法的属性public abstract,抽象类不能缺省 3)接口支持多重继承,抽象类支持单一继承 二:Java中支持的数据类型有哪些?什么是自动拆装箱? **1、**Java中有八种基本数据类型以及引用类型 1字节:byte 2字节:short,char 4字节:int,float 8字节:long,double 不确定:boolean 引用数据类型:数组,集合,类,接口等 **2、**自动装箱/自动拆箱 基本数据类型可以和其对应包装类之间的自动转换 三:请详述 ArrayList 和 LinkedList 的区别? 1>容器的概念 大量的同类引用对象放在统一数据容器中。 2>容器API 1)jdk所提供的容器API位于java.util包内 2)JAVA的容器---List,Map,Set (Array读快改慢,Linked改快读慢,Hash两者之间) Collection 代表一个容器collection集合,定义了存储一组对象的方法,其子接口List和Set分别定义了存储方式 ├List 有顺序且可以重复(两个对象之间只要互相equals就算重复) │├LinkedList │├ArrayList │└Vector │ └Stack └Set 没有顺序且不可以重复 Map 成对装东西,定义存储键值对的方法 ├Hashtable ├HashMap └WeakHashMap 2>区别 1)ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构 2)读取数据,ArrayList优于LinkedList,因为LinkedList要移动指针 3)对于新增和删除操作,LinedList比较占优势,因为ArrayList要移动数据。
3. 总结
lz现在大三,意识到了差距,亡羊补牢,为时不晚。接下来就,查漏补缺。下一阶段的目标:和同学一起做个项目,补一下基础,实践是检验真理的唯一标准!