java面试题及答案2
单项选择题(每题2分,共10题)
1.以下哪个关键字用于定义常量?
A.const
B.final
C.static
D.volatile
答案:B
2.Java中,以下哪种数据类型不属于基本数据类型?
A.int
B.String
C.double
D.char
答案:B
3.以下关于构造函数的说法正确的是?
A.构造函数可以有返回值
B.一个类只能有一个构造函数
C.构造函数不能被重载
D.构造函数用于初始化对象
答案:D
4.以下哪个类是所有类的父类?
A.Object
B.Class
C.Throwable
D.RuntimeException
答案:A
5.以下哪种循环结构会先执行一次循环体?
A.for循环
B.while循环
C.do-while循环
D.以上都不是
答案:C
6.以下哪个修饰符可以使成员变量只能在本类中访问?
A.public
B.private
C.protected
D.默认(无修饰符)
答案:B
7.当一个对象被垃圾回收器回收时,会调用以下哪个方法?
A.finalize()
B.toString()
C.equals()
D.hashCode()
答案:A
8.以下关于接口的说法错误的是?
A.接口中的方法默认是publicabstract的
B.接口中的变量默认是publicstaticfinal的
C.一个类可以实现多个接口
D.接口可以有构造函数
答案:D
9.以下哪个集合类是线程安全的?
A.ArrayList
B.HashMap
C.Vector
D.HashSet
答案:C
10.以下哪种异常是运行时异常?
A.IOException
B.SQLException
C.NullPointerException
D.ClassNotFoundException
答案:C
多项选择题(每题2分,共10题)
1.以下哪些是Java的访问修饰符?
A.public
B.private
C.protected
D.default
答案:ABCD
2.以下哪些类属于集合框架?
A.ArrayList
B.HashMap
C.LinkedList
D.HashSet
答案:ABCD
3.以下哪些关键字与异常处理有关?
A.try
B.catch
C.finally
D.throw
答案:ABCD
4.以下哪些是Java中的多态表现形式?
A.方法重载
B.方法重写
C.接口实现
D.抽象类继承
答案:ABCD
5.以下哪些方法属于Object类?
A.clone()
B.wait()
C.notify()
D.notifyAll()
答案:ABCD
6.以下哪些数据类型转换是自动进行的?
A.byte到short
B.int到long
C.float到double
D.char到int
答案:ABC
7.以下哪些类可以用于输入输出操作?
A.FileInputStream
B.FileOutputStream
C.BufferedReader
D.PrintWriter
答案:ABCD
8.以下哪些属于Java的流类型?
A.字节流
B.字符流
C.输入流
D.输出流
答案:ABCD
9.以下哪些关于类和对象的说法正确?
A.类是对象的模板
B.对象是类的实例
C.一个类可以创建多个对象
D.类和对象没有关系
答案:ABC
10.以下哪些关于静态成员的说法正确?
A.静态成员属于类,而不属于某个对象
B.静态方法中不能直接访问非静态成员
C.静态变量在类加载时被初始化
D.静态方法可以通过类名直接调用
答案:ABCD
判断题(每题2分,共10题)
1.Java中的字符串是不可变的。()
答案:对
2.一个类可以继承多个类。()
答案:错
3.数组的长度在创建后可以改变。()
答案:错
4.在Java中,所有的异常都必须被捕获处理。()
答案:错
5.接口中可以定义非抽象方法。()
答案:错(JDK8后接口可定义默认方法和静态方法,但早期接口只能有抽象方法,这里按传统概念判断为错)
6.静态内部类可以访问外部类的非静态成员。()
答案:错
7.Java中的基本数据类型都是有符号的。()
答案:错(char类型无符号)
8.HashSet中的元素是有序的。()
答案:错
9.方法重载要求方法名相同,参数列表和返回值类型都