Java期末考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2010年——2011年Java期末考试题

一、判断题。

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

2.类的静态方法中可以访问该类的非静态数据成员.F

3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不

会变的。T

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

5.Final 方法不能被覆盖。T

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

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

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

9.Java支持多重继承。F

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

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

12.不能在静态方法中使用this.T

13.抽象类中不能创建对象。T

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

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

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

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

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

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

20.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.0

3、下列关于修饰符混用的说法,错误的是(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.12

B.24

C.16

D.3

6、以下赋值语句正确的是(D)

A.char c1=”a”

B.float f1=3.22

C.byte b1=266

D.long L1=0xAC8L

7、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和1

B. MyClass.Java中有三个类:MyClass、little和1

C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1

D. 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被定义为private

B.编译错误,System.out调用的s没有被初始化

C.可以编译和运行,没有输出结果

D.可以编译和运行,输出结果为99

13、给出下面的代码:

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{}

}

相关文档
最新文档