一、 单项选择(20题,每题1分,共20分)
1. 某一个子类要继承一个父类,要使用关键字(     
A.import            B.extends
C.implements        D.java
2. 某一个子类要实现一个父接口,要使用关键字(     
A.import            B.extends
C.implements        D.java
3. JDK环境下编译JAVA原程序使用的命令是(     
A.java        B.javac
C.jvm        D.tomcat
4. 以下关于接口和类的说法正确的是(     
A.接口和类都可以实现多重继承     
B.子类可以继承多个父类
C.子类可以实现多个接口           
D.一个子类不能同时继承某一个父类和实现某一个接口
5. java中程序的main方法必须声明为(     
A.public          B.void
C.public void      D.public static void
6. 假设现在有一个类,名称为ceshi,现在要声明和创建一个ceshi类型的对象变量ceshiA,则下述正确的是(     
A.ceshi  ceshiA;              B.ceshi ceshia=new ceshi;
C.ceshi ceshiA=new ceshi;    D.ceshi ceshiA=new ceshi()
7. JAVA平台的无关性是通过(      )实现的
A.JAVA虚拟机          B.JAVA的编辑环境
C.Windows操作系统    D.UNIX操作系统 
8. JAVA原程序经过编译器编译后生成的字节码文件的后缀是(     
A.java            B.c
C.class            D.src
9. JAVA运用程序可以分为两类,一类是能够独立运行的程序,其中必须含有(     
A.构造方法        B.public方法
C.private方法      D.main方法
10. 一个非抽象子类,如果要实现某个接口,则(     
A.必须实现该接口中的所有抽象方法
B.可以实现部分抽象方法
C.可以不实现任何抽象方法
D.无所谓
11. 下列关于关键字thissuper的说法正确的是(     
A. this是调用父类的方法和变量         
B. super是调用本类中的方法
C. super是调用父类的方法和变量
D. 没有区别
12. 下列关于构造方法的说法正确的是(     
A. 构造方法必须是和类的名称相同
B. 每一个类都必须显示声明自己的构造方法
C. 构造方法不能进行重载
D. 子类不能使用父类的构造方法
13. 类的3个重要特征是类的封装、多态和(     
A.实现            B.重写
C.继承            D.重载
14. 哪个关键字可以对对象加互斥锁?
A transient
B synchronized
C serialize
D static
15. 下列哪些语句关于内存回收的说明是正确的?
A 程序员必须创建一个线程来释放内存;
B 内存回收程序负责释放无用内存
C 内存回收程序允许程序员直接释放内存
D 内存回收程序可以在指定的时间释放内存对象
16. 哪个关键字可以抛出异常?
A transient
B finally
C throw
D static
17. 对于下列代码:
public class Parent {
public int addValue( int a, int b) {
int s;
s = a+b;
return s;
}
}
class Child extends Parent {
}
下述哪些方法可以加入类Child?
A int addValue( int a, int b ){// }
B public void addValue (int a, int b ){// }
C public int addValue( int a ){// }
D public int addValue( int a, int b )throws MyException {//}
18. 下面哪种注释方法能够支持javadoc命令:
A /**...**/
B /*...*/
C //
D /**...*/
19. 下列关于Java线程的说法那些是正确的( 
A 每一个Java线程可以看成由代码.一个真实的CPU以及数据三部份组成。
B 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C  Thread类属于java.util程序包。
D 以上说法无一正确。
20. 运行下列程序, 会产生什么结果
public class X extends Thread implements Runnable{
public void run(){
System.out.println(this is run());
}
public static void main(String args[]) {
Thread t = new Thread(new X());
t.start();
}
}
A 第一行会产生编译错误
B 第六行会产生编译错误
C 第六行会产生运行错误
D 程序会运行和启动
二、 多项选择(15题,每题1分,共15分,选错漏选0)
1.下面哪些代码段是正确的Java源程序?
A.  package testpackage;
   public class Test{//}
B.  import java.io.*;
  package testpackage;
  public class Test{// }
C.  import java.io.*;
  class Person{// }
  public class Test{// }
D. import java.io.*;
  import java.awt.*;
  public class Test{// }
2. public class parent {
     int change() {}
     }
class Child extends Parent { }     
哪些方法可加入类Child中?
A public int change(){}
B int chang(int i){}
C private int change(){}
D abstract int chang(){}
3. String s = "hello";
 String t = "hello";
 char c[] = {'h','e','l','l','o'} ;
下列哪些表达式返回true
A s.equals(t);
B t.equals(c);
C s==t;
D t.equals(new String("hello"));
4.给出下面代码段:
  1) switch(m)
  2) { case 0: System.out.println("case 0");
  3) case 1: System.out.println("case 1"); break;
  4) case 2:
  5) default: System.out.println("default");
  6) }
下列m的哪些值将引起"default"的输出?
A 0
B 1
C 2
D 3
5.下列哪些说法是正确的?
A Java 语言只允许单一继承
B Java 语言只允许实现一个接口
C Java 语言不允许同时继承一个类并实现一个接口
D Java 语言的单一继承使得代码更加可靠
6.下述哪些说法是正确的?
A 实例变量是类的成员变量
B 实例变量是用static关键字声明的
C 方法变量在方法执行时创建
D 方法变量在使用之前必须初始化
7.对于下列代码:
  public class Sample{
    long length;
    public Sample(long l){ length = l; }
    public static void main(String arg[]){
     Sample s1, s2, s3;
     s1 = new Sample(21L);
     s2 = new Sample(21L);
     s3 = s2;
     long m = 21L;
    }
  }
下列哪些表达式返回值为'true'?   
A s1 = = s2;  等号比较的是值或者是句柄,
B s2 = = s3;
C m = = s1; ——不可比较的类型:long Sample
D s1.equals(m)—false:  equals()只能比较引用数据类型,等号能比较引用类型和基本类型数据;
Equals()在比较String/Date/File和封装类等特点的引用类型数据时是特例,比较的是相应的值,而非句柄
此处不是封装类new Long();所以仍然比较句柄。
8.下列说法正确的是:
A java语言里的线程是没有优先级的
B String类在java.lang包中
C java语言支持类的序列化
D 能序列化的类必须实现java.io.Serializable接口--P444
9.关于Float,下列说法正确的是
A Float是一个类
B Floatjava.lang包中
C Float a=1.0是正确的赋值方法
D Float a= new Float(1.0)是正确的赋值方法
10.下列哪些说法是正确的?
A IOException必须被捕获或抛出
B java语言会自动初始化变量的值 (只有成员变量)
C java 语言不允许同时继承一个类并实现一个接口
D java语言会自动回收内存中的垃圾
11.执行下列代码后,哪个结论是正确的 String[] s=new String[10];
A s[10] "";
B s[9] null;
C s[0] 未定义
D s.length 10
12.选出合理的标识符 
A _sys1_lll
B 2mail
C $change
D class
13.下列哪个方法可用于创建一个可运行的类
A public class X implements Runable{ public void run(){ ......} }
B public class X implements Thread{ public void run(){ ......} }
C public class X implements Thread{ public int run(){ ......} }
D public class X implements Runable{ protected void run(){ ......} } 访问权限更严格
E.public class X extends Thread{ public void run(){ ......} }
14.下列说法正确的是 
A java.lang.Clonable是类
B java.lang.Runnable是接口
C Double对象在java.lang包中
D Double a=1.0是正确的java语句
15.指出下列与方法public void add(int a){}为合理的重载方法。 
A public int add(int a)
B public void add(long a)
C public void add(int a,int b)
D public void add(float a)
三、 程序阅读和分析(10题,每题2分,共20分)
1. 请写出程序运行的结果(注意输出格式)                 
public class Example{
  String str=new String("good");
  char[]ch={'a','b','c'};
  public static void main(String args[]){
    Example ex=new Example();
    ex.change(ex.str,ex.ch);
    System.out.print(ex.str+" and ");
    Sytem.out.print(ex.ch);
  }
  public void change(String str,char ch[]){
    str="test ok";
    ch[0]='g';
  }
}
2.下列代码哪几行会出错并分析原因
1) public void modify() {
2) int I, j, k;
3) I = 100;
4) while ( I > 0 ) {
5) j = I * 2;
6) System.out.println (" The value of j is " + j );
7) k = k + 1;
8) I--;
9) }
10) }
3. 下列代码哪几行会出错并分析原因
  1) class Parent {
  2) private String name;
  3) public Parent(){}
  4) }
  5) public class Child extends Parent {
  6) private String department;
  7) public Child() {}
  8) public String getValue(){ return name; }
  9) public static void main(String arg[]) {
  10) Parent p = new Parent();
  11) }
  12) }
4.TeacherStudent是类Person的子类,有以下代码段:
   Person p;
   Teacher t ;
   Student s;
   //p, t s均非空
   if(t instanceof Person) { s = (Student)t; }
试分析将会产生的结果。
5.下列程序中构造了一个SET并且调用其方法add(),输出结果是         
public class A{
public int hashCode(){return 1}
public Boolean equalsObject b{return true}
public static void mainString args[]{ Set set=new HashSet();
set.add(new A());
set.add(new A());
set.add(new A());
System.out.println(set.size());
}
}
6.对于下列代码:
  1) class Person {
  2) public void printValue(int i, int j) {//... }
  3) public void printValue(int i){//... }
  4) }
  5) public class Teacher extends Person {
  6) public void printValue() {//... }
  7) public void printValue(int i) {//...}
  8) public static void main(String args[]){
  9) Person t = new Teacher();
  10) t.printValue(10);
  11) }
  第10行语句将调用哪行语句??
7. 请写出程序运行的结果(注意输出格式)
  class Aclass{
   void go(){
    System.out.println("Aclass");
   }
  }
  public class Bclass extends Aclass{
   void go{
    System.out.println("Bclass");
   }
  public static void main(String args[]){
   Aclass a=new Aclass();
   Aclass a1=new Bclass();
  a.go();
  a1.go();
  }
8. 请写出程序运行的结果(注意输出格式)
  int i = 9;
  switch (i) {
  default:
  System.out.println("default");
  case 0:
  System.out.println("zero");
  break;
  case 1:
  System.out.println("one");
  case 2:
  System.out.println("two");
}
9.给定下面的代码片段:
  public void Test() {
   try {
      method();
go和java后端开发劣势      System.out.println("Hello World");
     }
   catch (ArrayIndexOutOfBoundsException e)
   {
    System.out.println("Exception?");
   }
   catch(Exception e)
   {
    System.out.println("Exception1");
   }
   finally{
    System.out.println("Thank you!");
    }
   }
如果函数method正常运行并返回,请写出程序运行结果。
四、 简答(6题,每题5分,共30分)
1. final, finally, finalize 的区别?Overload Override 的区别?final, finally, finalize 的区别?
2. 列举javaI/O的分类标准和类型?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
3. 简述JAVA异常处理的流程;关键字throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗,如何实现?
4. 辅以图示简述Java线程的生命周期
5. 什么是对象持久化,什么对象序列化,如何实现java的对象序列化?
6. 列举Java JDBC编程中主要的接口和类及功能,列举JDBC编程的步骤
五、 编程(1题,每题15分,共15分)
1. 什么是设计模式,什么是Singleton设计模式,请编写一个Singleton

参考答案:
一、 单选
1~5. B C B C D  6~10. D A C D A  11~15. C A C B B  16~20. C C D B D
二、多选
1~5. ACD AB ACD CD AD      6~10. ACD B BCD ABD AD 
11~15. BD AC AE BC BCD     
三、程序阅读分析
1. good and gbc   
2. 7k没有被赋初值   
3. 8 name在父类中定义访问权限private           
4. tteacher实例,与student不是父子类的关系,不能被造型
5. 1             
6. 7           
7. Aclass
      Bclass
8. default
zero
9. Hello world
Thank you!
设计模式是在面向对象分析设计和软件开发中,。。。。
Singleton设计模式:
public Class Singleton{
private static Singleton only= new Singleton(); 
//私有的静态属性only,是Singleton类型,并且已经初始化
private Singleton(){};        //私有的构造方法
public static Singleton getSingleton(){   
//公共的静态方法,返回值为Single类型
      return only
}
}
文件IO编程:字节输入输出流:
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyFile {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。