中高级java面试题及答案解析
单项选择题(每题2分,共10题)
1.以下哪种不是Java的访问修饰符?
A.public
B.friend
C.private
D.protected
答案:B
2.Java中,接口里的方法默认是?
A.private
B.protected
C.publicabstract
D.static
答案:C
3.以下关于多态的说法正确的是?
A.子类重写父类方法时访问权限可缩小
B.多态只能通过继承实现
C.父类引用指向子类对象是多态体现
D.多态和重载是一个概念
答案:C
4.以下哪个类在java.util包中?
A.String
B.Math
C.ArrayList
D.System
答案:C
5.在Java中,创建线程的方式不包括?
A.继承Thread类
B.实现Runnable接口
C.实现Callable接口
D.继承Runnable接口
答案:D
6.以下关于异常处理,说法错误的是?
A.try块后可跟多个catch块
B.finally块一定会执行
C.可以抛出自定义异常
D.捕获异常时父类异常要在子类异常之后
答案:B
7.Java中,以下哪个关键字用于跳出多重循环?
A.break
B.continue
C.return
D.goto
答案:A
8.以下哪种集合是线程安全的?
A.ArrayList
B.HashMap
C.Vector
D.HashSet
答案:C
9.关于Java内存模型,说法正确的是?
A.主内存和工作内存是完全隔离的
B.线程对变量的操作直接在主内存进行
C.一个变量在多个线程的工作内存中可能有不同副本
D.不存在缓存一致性问题
答案:C
10.以下哪个是Java中的字节流输入类?
A.InputStream
B.Reader
C.OutputStream
D.Writer
答案:A
多项选择题(每题2分,共10题)
1.以下属于Java集合框架接口的有?
A.Collection
B.Map
C.List
D.Set
答案:ABCD
2.以下哪些关键字与Java异常处理有关?
A.try
B.catch
C.finally
D.throw
答案:ABCD
3.关于Java中的线程,说法正确的有?
A.线程有就绪、运行、阻塞等状态
B.可以通过start()方法启动线程
C.线程可以暂停和恢复
D.多个线程竞争资源可能产生死锁
答案:ABCD
4.以下哪些是Java中的排序算法?
A.冒泡排序
B.选择排序
C.插入排序
D.快速排序
答案:ABCD
5.以下关于抽象类和接口的说法,正确的有?
A.抽象类可以有构造方法
B.接口中只能有抽象方法
C.一个类可以实现多个接口
D.抽象类不能实例化
答案:ACD
6.在Java中,以下哪些属于输入输出流的类型?
A.字节流
B.字符流
C.对象流
D.缓冲流
答案:ABCD
7.以下哪些操作符属于Java的逻辑操作符?
A.
B.||
C.!
D.
答案:ABC
8.以下关于Java中的反射机制,说法正确的有?
A.可以在运行时获取类的信息
B.能动态创建对象
C.能调用对象的方法
D.反射性能比直接调用高
答案:ABC
9.以下哪些类位于java.lang包中?
A.Object
B.String
C.Integer
D.System
答案:ABCD
10.关于Java中的垃圾回收机制,说法正确的有?
A.自动回收不再使用的对象
B.程序员可以控制回收时机
C.有多种垃圾回收算法
D.可以提高内存利用率
答案:ACD
判断题(每题2分,共10题)
1.Java中,所有类都直接或间接继承自Object类。()
答案:对
2.接口中可以定义成员变量。()
答案:错
3.一个类的构造方法不能被重载。()
答案:错
4.在Java中,基本数据类型都有对应的包装类。()
答案:对
5.静态方法可以访问非静态成员变量。()
答案:错
6.多线程中,synchronized关键字可以用于修饰方法和代码块。()
答案:对
7.Java中的字符串是不可变对象。()
答案:对
8.抽象类中必须有抽象方法。()
答案:错
9.异常处理中,finally块中的代码一定会执行,即使try块中有return语句。()
答案:错
10.HashMap中的键可以