java常见的面试题及答案
单项选择题(每题2分,共10题)
1.Java中负责内存垃圾回收的是?
A.JVMB.JREC.JDK
答案:A
2.以下哪个是Java中的关键字?
A.integerB.FloatC.class
答案:C
3.类的成员变量如果没有初始化,其默认值为?
A.0B.nullC.取决于数据类型
答案:C
4.以下哪种循环结构至少会执行一次循环体?
A.forB.whileC.do-while
答案:C
5.要创建一个空的ArrayList,正确的是?
A.ArrayListlist=newArrayList();
B.ArrayListlist=newArrayList();
C.ArrayListlist=newArrayList(0);
答案:B
6.以下哪个修饰符可以使类不能被继承?
A.finalB.staticC.abstract
答案:A
7.Java中多态的实现不包括以下哪种方式?
A.方法重载B.方法重写C.接口
答案:A
8.以下哪个类用于处理文件输入流?
A.FileOutputStreamB.FileInputStreamC.PrintStream
答案:B
9.以下关于异常处理,说法正确的是?
A.try块后必须跟catch块
B.finally块一定会执行
C.可以有多个catch块
答案:C
10.以下哪种排序算法平均时间复杂度最低?
A.冒泡排序B.选择排序C.快速排序
答案:C
多项选择题(每题2分,共10题)
1.以下属于Java基本数据类型的有?
A.intB.StringC.floatD.boolean
答案:ACD
2.以下哪些是Java中的访问修饰符?
A.publicB.privateC.protectedD.default
答案:ABCD
3.以下哪些类实现了List接口?
A.ArrayListB.LinkedListC.HashSetD.TreeSet
答案:AB
4.以下关于接口的说法正确的有?
A.接口中的方法默认是publicabstract
B.接口可以有成员变量
C.一个类可以实现多个接口
D.接口不能被实例化
答案:ACD
5.以下哪些属于异常处理关键字?
A.tryB.catchC.finallyD.throw
答案:ABCD
6.以下哪些方法属于String类?
A.length()B.equals()C.add()D.contains()
答案:ABD
7.以下哪些是多线程创建的方式?
A.继承Thread类
B.实现Runnable接口
C.实现Callable接口
D.继承Runnable类
答案:ABC
8.以下哪些类属于集合框架中的Map接口实现类?
A.HashMapB.TreeMapC.HashtableD.LinkedHashMap
答案:ABCD
9.以下关于static关键字说法正确的有?
A.可以修饰类
B.可以修饰方法
C.可以修饰变量
D.静态方法可以访问非静态成员
答案:BC
10.以下哪些属于Java输入输出流类?
A.InputStreamB.OutputStreamC.ReaderD.Writer
答案:ABCD
判断题(每题2分,共10题)
1.Java是一种编译型和解释型结合的语言。()
答案:对
2.一个Java源文件中可以有多个public类。()
答案:错
3.数组一旦创建,其长度不能改变。()
答案:对
4.方法重写时,访问修饰符的权限可以缩小。()
答案:错
5.静态变量属于类,而不属于对象。()
答案:对
6.HashSet中的元素是有序的。()
答案:错
7.try块中没有抛出异常,finally块不会执行。()
答案:错
8.String类是不可变类。()
答案:对
9.多线程中,使用synchronized关键字可以实现线程同步。()
答案:对
10.在Java中,接口可以继承接口。()
答案:对
简答题(每题5分,共4题)
1.简述Java中的面向对象特性。
答案:Java面向对象特性有封装、继承、多态。封装将数据和操作封