当前位置:文档之家› Java期末考试题

Java期末考试题

2010年——2011年Java期末考试题一、判断题。

1.Java语言是平台无关的语言。

T2.类的静态方法中可以访问该类的非静态数据成员.F3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不会变的。

T4.覆盖方法所抛出的异常不能比原方法更多。

T5.Final 方法不能被覆盖。

T6.抽象类中一定包含抽象方法。

F7.接口中的方法必须是抽象方法。

T8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。

F9.Java支持多重继承。

F10.Final修饰的类不能派生子类。

T11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。

T12.不能在静态方法中使用this.T13.抽象类中不能创建对象。

T14.一个类可以实现多接口。

T15.接口中可以包含非静态成员。

F16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。

T17.一个类实现一个接口,则该类必须实现接口中的所有方法。

F18.线程使用sleep方法去休眠后可以使用notify方法唤醒。

F19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。

F20.Final类中的属性和方法都必须是final的。

F二、选择题1、Java中复合数据类型不包括(D)A.类类型B.数组C.接口类型D.指针2、请从四个选项中选择答案,下列代码的执行结果是:(C)Public class Test{Public static void main(String args[]){Float t=9.0f;Int q=6;System.out.println((t++)*(--q));}} A.40 B.40.0 C.45.0 D.36.03、下列关于修饰符混用的说法,错误的是(D)A.abstract 不能与final 并列修饰同一个类B.abstract类中可以有非abstract的方法C.普通类(非abstract类)中不能有abstract方法D.static方法中能处理非static的属性4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A)A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问C.只能被该类自身所访问D.只能被同一个包中的类访问5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A)A.12B.24C.16D.36、以下赋值语句正确的是(D)A.char c1=”a”B.float f1=3.22C.byte b1=266D.long L1=0xAC8L7、Java不支持多重继承,但我们可以通过(B)实现A.多态 B.接口 C.覆盖 D.抽象类8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A)A. person p[]=new person[3]; p[1]=new student();B .student s[]=new person[3]; s[1]=new person();C .person p[]= new student[3];p[1]= new person();D .student s[]=new student[3];s[1]=new person;9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C)A.MyClass类中的两个方法:little和1B. MyClass.Java中有三个类:MyClass、little和1C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1D. MyClass、little和1,这三者没什么关系10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。

A.public static void main()B.public static void main(String arg[])C.public static int main(String[] arg)D. B.public void main(String arg[])11、当编译和运行下面的代码会出现什么情况?(A)Import java.io.*;Class ExBase{Abstract public void martley()}Public class MyEx extends ExBase{Public static void main(String argv[]){DataInputStream fi=new DataInputStream(System.in);Try{Fi.readChar();}Catch(IOEception e){System.exit(0);}Finally{System.out.println(“Doing finally”);}}}A.编译错误B.可以运行,没有打印出”Doing finally”C.可以运行,在打印出”Doing finally”后退出D.在运行之后立即退出12、当编译和运行下面的代码会出现什么情况?(D)Public class Sandys{Private int court;Public static void main(String argv[]){Sandys s=new Sandys(99);System.out.println(s.court);}Sandys(int balleount){court=ballcount;}}A.编译错误,变量court被定义为privateB.编译错误,System.out调用的s没有被初始化C.可以编译和运行,没有输出结果D.可以编译和运行,输出结果为9913、给出下面的代码:Class Base{}Class Agg extends Base{Public String getFields(){ String name=”Agg”;Return name;}}Public class Avf{Public static void main(String argv[]){Base a=new Agg();//Here}}当把下面的代码添加到注释“/Here”后面,程序的输出结果是”Agg”(D)A.System.out.println(a.getFields())B. System.out.println()C.System.out.println((Base)a.getFields())D. System.out.println(((Agg)a).getFields())14、当编译和运行下面的代码会出现什么情况?(A)Abstract class Base{Abstract public void myfunc();Public void another(){Systern.out.println(“Another method”);}}Public class Abs extends Base{}Public static void main(String argv[]){Abs a=new Abs();a.amethod();}Public void myfunc(){System.out.println(“My Func”)}A.可以编译和运行,输出的结果是”My func”B.出现编译错误:Base类中没有抽象方法C.可以编译,但运行是提示Base类中没有抽象方法D.出现编译错误,Base类中的方法myfunc没有方法体15、编译和运行下面的代码会出现(D)Import java.io.*;Class Base{Public void amethod()throws FileNotFoundException{}}Public class ExcepDemo extends Base{Public static void main(String argv[]){New ExcepDemo();}Public void amethod(){}Protected ExcepDemo(){try{BufferedReader inputStream=new BufferedReader(new InputStreamReader); System.out.println(“Pausing”);inputStream.readLine();System.out.println(“Contimuing”);This.amethod();}catch(IOException ioe){}}A.编译错误,因为构造方法被声明为protectedB.编译错误,因为方法amethod没有抛出异常C.运行时错误,因为方法amthod没有抛出异常D.可以编译和运行,输出的结果是:Pausing…Continuing其中…表示等待用户的键盘输入17、以下程序的输出结果是(C)class Aclass{void go(){System.out.println(“Aclass”);}}public class Bclass extends Aclass{V oid go{System.out.println(“Bclass”);}Public static void main(String args[]){Aclass a= new Aclass();Aclass al=new Bclass();a.go();al.go();}} A、AclassAclassB、BclassBclassC、AclassBclassD、BclassAclass18、看以下程序Boolean a=false;Boolean b=true;Boolean c=(a&&b)&&(!b);Int result=c==false?1:2;这段程序执行完后,c与result的值是:(A)A.c=false;result=1;B.c=true;result=2;C.c=true;result=1;D.c=false;result=2;19、下面哪个单词是Java语言的关键字(B)A.FloatB.thisC.stringD.unsigned20、switch语句(A)A.都可以用if-else if结构实现B.都不可以用if-else if结构实现C.有的可以用if-else if结构实现D.大部分不可以用if-else if结构实现21、在异常处理中,如释放资源、关闭文件等善后操作由(C)来完成。

相关主题