当前位置:首页 > Java测试题参考答案
IMTI培训Java编程语言测试题 1
Java编程语言试题及参考答案
一、简答题(每题4分)
1、 JVM在解析代码Person p1=new Person()和new Person()时有什么区别?
答:Person p1=new Person()在执行完后,p1作为对象的句柄仍然保持对象的存在,没有成为垃圾;而new Person()在执行完后就成为垃圾,被回收器收回。
2、解释语句System.out.println(“abc”);的执行过程。 答:JVM先解释System.out,再执行解析后的机器码,其返回值为PrintStream类的对象,而println(String s)是PrintStream类对象的一个方法,最后再执行System.out.println(“abc”);语句。将abc显示在屏幕上。
3、一个类的方法定义为
public final void method(){
System.ou.print(“123”); }
其子类的方法是否可以定义为
public final void method(){
System.ou.println(“567”); }
为什么?
答:不可以,因为final方法是不能覆盖的。
4、String类和StringBuffer的主要用途什么区别?
答:String类对象的字符串一旦被初始化是不能改变的,而StringBuffer类对象的字符串是可以改变的,可以进行增加、插入和翻转等操作。
5、下列各项中,是接口的在括弧中表明“I”,是类的在括弧中表明“C”。 Vector( )、Enumeration( )、Set( )、Collection( )、Iterator( )、ArrayList( )、List( )。 答: Vector( C )、Enumeration( I )、Set( I )、Collection( I )、Iterator( I )、ArrayList( C )、List( I )。
6、一个类的方法中如果有下列代码
Hashtable numbers = new Hashtable(); numbers.put(\; numbers.put(\; numbers.put(\; 那么,该方法中的下列代码
Integer n = (Integer)numbers.get(\
If (n !=null){
System.out.println("two="+n.toString());
}
IMTI培训Java编程语言测试题 2
的执行结果应该是: 答:two=2 7、下列代码
import java.util.*; import java.text.*;
public class TestDateFormat{
public static void main(String[] args) {
SimpleDateFormat sdf1=new SimpleDateFormat(\
SimpleDateFormat sdf2=new SimpleDateFormat(\年MM月dd日\ try{
Date d=sdf1.parse(\ System.out.println(sdf2.format(d)); }catch(Exception e) {
System.out.println(e.getMessage()); } } }
的执行结果是:
答:2007年03月15日
8、解释System.in和System.out的意义。
答:System.in为输入流对象,把键盘作为输入流节点,从键盘输入的数据实际上交给了
System.in,再由System.in交给处理数据的过滤流;
System.out为输出流对象,把显示器作为输出流节点,从计算机系统输出的数据交给
System.out,再由System.out交给显示器显示。
9、解释InputStream、OutputStream和Reader、Writer两套类的用法和区别。
答:InputStream、OutputStream是处理字节类型数据的输入流和输出流子类的父类; Reader、Writer是处理字符类型数据的输入流和输出流子类的父类。
10、一个类的main()方法中包含下列代码: try{
FileOutputStream fos=new FileOutputStream(\ BufferedOutputStream bos= new BufferedOutputStream(fos); DataOutputStream dos=new DataOutputStream(bos); dos.writeUTF(\中国\ dos.writeBytes(\中国\ dos.writeChars(\中国\ dos.close();
//………………………………………..
FileInputStream fis=new FileInputStream(\ BufferedInputStream bis=new BufferedInputStream(fis); DataInputStream dis=new DataInputStream(bis); System.out.println(dis.readUTF());
IMTI培训Java编程语言测试题 3
dis.close();
}catch(Exception e){
System.out.println(e.getMessage()); }
解释其中下列语句的意义。
dos.writeUTF(\中国\
dos.writeBytes(\中国\
dos.writeChars(\中国\
dos.close(); 答:
dos.writeUTF(\中国\将“ab中国”以UNICODE类型交给输出流对象dos; dos.writeBytes(\中国\将“ab中国”以字节类型交给输出流对象dos; dos.writeChars(\中国\将“ab中国”以字符类型交给输出流对象dos;
dos.close();关闭输出数据流对象,将缓冲区的数据清理并写到dos对象连接的节点
中。
二、计算题(每题6分)
1、在类Runner中定义一个方法move(),要求这个方法的参数是一个实现了接口Runnable的匿名内部类的对象,该接口中的方法中的内容自己可以决定。 答:
public class Runner{
public void move(new Runnable(){ public void run(){…} }){……}
} 2、类Outer中与方法属性平行定义的内部类为Inner{ public void doStuff(){}},写出在另一个类TestInner的public static void main(String s)中调用方法doStuff()的代码。 答:
public class TestInner{
public static void main(String s){ Outer outer=new Outer();
Outer. Inner inner= outer.new Inner(); inner. doStuff(); } } 3、类Book{ public void insert(String id) throws Exception{…}}中的方法被类TestBook中public void testInser()方法调用,写出该方法中的主要代码。 答:
public class TestBook{
IMTI培训Java编程语言测试题 4
public void testInser(){ try{
Book bk=new Book();
bk.insert(“123”) //只要是字符串即可 }
catch(Exception e){ ………….. } } }
4、两个顶级包test1和test2,需要将它们压缩成一个文件myjava.jar,再用WinRaR打开时,会在浏览器上看到下列层次; ◎META-INF ◎test1 ◎test2
注:◎为文件夹
请写出操作过程,并写出运行的命令行程序(提示:用jar .......).
答:a)先把两个顶级包test1和test2拷贝到文件夹my(比如test1和test2都在my文件
夹中);
b)进入到my文件夹,键入下列命令: jar cvf myjava.jar *
即可。
5、同一个线程类ThreadTest中定义了:
public synchronized void sale(){...} synchronized(str){...}
写出能使这两个类成员保持同步的改进代码。 答:synchronized(this){...}
6、解释下列类和接口中方法的用途。
a)Vector (class)
public void addElement(Object obj)
public Enumeration elements()
b) Enumeration( interface)
public boolean hasMoreElements()
public Object nextElement()
答:a)Vector (class)
public void addElement(Object obj) :将对象隐式转换成父类对象保存到集合类Vector
对象中;
public Enumeration elements(): 集合类对象从自己保存到内存中的对象中取回所有对
共分享92篇相关文档