JavaSE 内部测试题
一.选择题每题2分,共40分
1.在Java中,定义接口的关键字是()。(一项)
a)abstract
b)interface
c)class
d)extends
2.在Java中,类可派生自一个父类,并实现()个接口(一项)
a)1
b)2
c)3
d)任意多
3.在Java中,已定义了两个接口B和C,要定义一个类A 实现接口B和C,以下语句正确的是(一项)
a)class A extends B extends C
b)class A implements B implements C
c)class A implements B,C
d)class A extends B,C
4.在Java中,使用interface声明一个接口时,以下()可以用来修饰该接口。(一项)
a)private
b)protected
c)private、protected
d)public
5.下列说法错误的是()。(一项)
a)Java支持多重继承
b)Java可以通过实现接口,间接实现多重继承
c)Java可以实现多个接口
d)Java实现接口,必须实现接口中的方法。
6.在Java中,关于接口和抽象类,正确的是()(二项)
a)public interface A{
private int varA =10;
void methodA();
}
b)public abstract class B {
private int varA=10;
void methodA(){};
}
c)public interfacde C{
int varA =10;
protected void methodA();
}
d)public abstract class D{
java生成随机数的方法int varA=10;
protected abstract void methodA();
}
7. 在Java中,关于接口和抽象类说法正确的是()。 (一项)
a)接口的方法可以是私有的。
b)抽象类不能有私有的方法和属性。
c)抽象类实现接口时可以不用重写接口方法。
d)接口实现必须单根性。
8.分析代码,运行结果为:()
public class BaseClass{
public BaseClass(){
System.out.println(“父类”);
}
}
public class SubClass extends BaseClass{
public SubClass(){
System.out.println(“子类”);
}
}
public static void main(String [] args){
new SubClass();
}(一项)
a)父类
b)子类
c)父类
子类
d)编译错误
9.Java中,关于被私有访问控制符private修饰的成员变量,以下说法正确的是()(一项)
a)可以被三种类所引用,该类自身,与它在同一个包中的其他类,在其他包中的该类的子类
b)可以被两种类访问和引用,该类本身、该类的所有子类。
c)只能被该类自身所访问和修饰。
d)只能被同一个包中的类访问。
10.在Java中,以下关于集合框架说法正确的是() (一项)
a)List和Set都是Collection接口的子接口
b)HashSet 和HashMap都实现自Map接口
c)ArrayList、LindedList都使用相同的方式存储数据
d)TreeSet和TreeMap都实现自Map接口
11.HashMap hMap = new HashMap(); (一项)
hMap.put(“1”,”Java”);
hMap.put(“2”,”JavaScript”);
hMap.put(“3”,”Oracle”);
hMap.put(“4”,”Mysql”);
有如上代码,要得到Oracle这个字符串,使用如下()代码。
(“3”);
(“Orcale”);
(3);
d)hMap[2];
12.用BufferedWriter类进行文本文件写入时,首先需要如下()操作。(一项)
a)通过无参的构造函数,定义一个类对象。
b)通过以文件名为参数的构造函数,定义一个类对象
c)通过以文件名为参数的文件流操作类的构造函数为参数,构造一个类对象
d)直接调用open方法
13.在Java中,下列关于File类说法错误的是()。(一项)
a)isExists()方法用于判断文件或目录是否存在
b)isExists()方法判断是否是文件
c)删除一个文件时,可以使用delete()方法
d)length()方法返回文件的长度。
14.BufferedWriter进行数据写入文件时,需要调用()方法(一项)
a)write方法
b)writeLine方法
c)read方法
d)flush方法
15.下面哪个流类属于面向字符的输入流()(一项)
a)BufferedWriter
b)FileInputStream
c)ObjectInputStream
d)InputStreamReader
16.将对象序列化,要实现哪个接口(一项)
a)Cloneable
b)Runnable
c)Serializable
d)Comparatoe
17.在Java中,下列选项中,与序列化和反序列化有关的是()(二项)
a)FileReade
b)ObjectOutputStream
c)Serialixable
d)DataOutputStream
18.在Java中,下列选项说法不正确的是()(一项)
a)jav.util.Random类用于生成随机数
b)java.util.Random类的nextInt()方法返回一个此随机生成的整数值
c)java.util.Random类的nexInt()方法返回一个0(包括)和指定值之间(不包括)之间的值
d)执行代码:System.out.println(new java.util.Random().nextInt(10)+1);输出的值不可能为10.
19.在Java中,执行以下代码,两条输出语句的值分别是()(一项)
public static void main(String [] args){
String str1=”123”;
String str2=”123”;
System.out.println(str1.equals(str2));
System.out.println(str1==str2);
}
a)true,true
b)false,false
c)true,false
d)false,true
20.在Java中,以下代码输出的结果是()(一项)
public static void main(String [] args){
StringBuffer sb = new StringBuffer(“Hello”);
sb.append(“,”);
sb.append(“Java”);
System.out.String());
}
a)Hello
b)Hello,Java
c),Java
d)编译错误
二.简答题:每题15分,共30分
1. 简述ArrayLIst与LinkedList的优缺点。
2. 简述线程中 sleep()和wait()的区别
三机试题(每题15分,共20分)
1.打印一段日志到记事本中,保存到本地,然后分别用字符流与字节流去交换读取该日志的内容,并计算每读一行,不同的流之间相差的时间,以秒为单位进行计算。
2.定义一个ArrayList集合,在类加载时添加10本书,书籍具有书名、作者、价格三个属性,在main函数中通过键盘录入一个书名时,查询出该书籍的详细信息。
答案:
1. B 2. D 3. C 4. D 5. A
6. BD 7. C 8. C 9. C 10. A
11. A 12. C 13. A 14. D 15. D
16. C 17. BC 18. D 19. A 20. B
简答题:
1. ArrayList 底层是用数组实现的,更擅长遍历搜索查,因为数组有下标的概念, 可以很
方便的跳到指定的位置; 不擅长插入删除操作;
LinkedList 底层是用链表实现的, 链表是一个个节点链起来的, 擅长插入删除等操作(某节点断开去掉或者重新 连接上新的节点,这类操作比较快捷),搜索查询的话只能是一个节点一个节点的来。
LinkedList 底层是用链表实现的, 链表是一个个节点链起来的, 擅长插入删除等操作(某节点断开去掉或者重新 连接上新的节点,这类操作比较快捷),搜索查询的话只能是一个节点一个节点的来。
2. sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论