Java语言与WWW技术复习题(本科).doc
文本预览下载声明
Java语言与WWW技术设计期末复习题
1.关于继承正确的。 A.在java中只允许单一继承 B.在java中一个类只能实现一个接口C.在java中一个类不能同时继承一个类和实现一个接口D.java允许多重继承关于垃圾收集叙述A.程序开发者必须自己创建一个线程进行内存释放的工作B.垃圾收集将检查并释放不再使用的内存C.垃圾收集允许程序开发者明确指定并立即释放该内存D.垃圾收集能够在期望的时间释放被java对象使用的内存void型
B.构造函数是类的一种特殊函数,它的方法名必须与类名相同
C.构造函数的主要作用是完成对类对象的初始化工作
D.一般在创建新对象时,系统会自动调用构造函数
7.有如下代码段:
1.
2.{ if(fun1()){//do something…}
3. else if(fun2()){//do the other…}
4. }
其中,方法fun1() 将抛出IOException, 以下可以填入第1行的是( )。
A.public IOException methodName()
B.public void methodName()
C.public void methodName() throw IOException
D.public void methodName() throws IOException
8.分析下面的程序代码,以下说法正确的是( )。
public class B extends A
{ public static void main(String[] args)
{ B b=new B();
b.print(); }
}
class A
{ String s;
A(String s)
{ this.s=s; }
public void print()
{ System.out.println(s); }
}
编译成功,运行情况良好
因为B没有构造方法B(),所以这段程序不能编译
这段程序可以通过编译,但由于方法名冲突,引起一个运行时错误
如果删除A类中的构造方法,这个程序可以编译
9.将以下哪个方法的定义插入第6行后,会引发编译错误?( )
1. class Super{
2. public float getNum(){return 0.1f;}
3. }
4.
5. public class Sub extends Super{
6.
7.}
A.public float getNum(int x){return (float)x;}
B.public int getNum(){return 1;}
C.public void getNum(double d){}
D.public double getNum(float d){ return 4.0d; }
10.以下接口定义正确的是( )。
A.interface A
{ void print() { } ;}
B.abstract interface A
{ void print() ;}
C.abstract interface A extends A1,A2 //A1.A2为已定义的接口
{ abstract void print(){ };}
D.public interface A
{ void print();}
11.给出如下代码:
class?Test{
//定义成员m
public?static?void?fun()?{
//?some?code...
}
}
要在函数fun()中直接访问m,以下成员变量定义正确的是( )。
A.protected?int?m; B.?public?int?m; C.static?int?m; D.int?m;
12.以下用于定义线程执行体的方法是( )。
?A.?start() B.init() C.run() D.synchronized()?
13.给出如下代码:
public class A{
public static void main(String args[]){
static int x[] = new int[15];
System.out.println(x[1]); }
}
以下说法正确的是( )。
A.编译出错
B.编译通过,但运行时有错,因为数组元素没有初始化
C.编译通过,输出0 ,因为静态成员能得到初始值
D.编译通过,但运行结果不确定,
显示全部