一、 单项选择(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. 下列关于关键字this和super的说法正确的是( ) 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 Float在java.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.类Teacher和Student是类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 equals(Object b){return true} public static void main(String 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. 列举java中I/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. 第7行k没有被赋初值
3. 第8行 name在父类中定义访问权限private
4. t是teacher实例,与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小时内删除。
发表评论