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){
it(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.urt);
}
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.Fields()) B. System.out.println(a.name)
C.System.out.println((Fields()) 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”);
adLine();
System.out.println(“Contimuing”);
This.amethod();
}catch(IOException ioe){}
}
A. 编译错误,因为构造方法被声明为protected
B. 编译错误,因为方法amethodpipedinputstream没有抛出异常
C. 运行时错误,因为方法amthod没有抛出异常
D. 可以编译和运行,输出的结果是:
Pausing
…
Continuing
其中…表示等待用户的键盘输入
17、以下程序的输出结果是(C)
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 al=new Bclass();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论