Java期末考试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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{}
}