广工大Java期中题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java模拟题
一、单项选择题(共20分)
1. 如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是
(A) public (B) protected
(C) private (D) static
2.关于抽象方法的说法正确的是( )
(A)可以有方法体(B) 可以出现在非抽象类中
(C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法
3.以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
4.以下有关构造方法的说法,正确的是:()
A.一个类的构造方法可以有多个
B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用。
D.构造方法可以和类同名,也可以和类名不同
5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为()
A)隐藏
B)重写
C)重载
D)Java不支持此特性
6. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A. java
B. .class
C. html
D. .exe
7、不允许作为类及类成员的访问控制符的是( )。
A. public
B. private
C. static
D. Protected
8、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )
B. public void method( )
C. final void method( )
D. abstract void method( )
9.void的含义:()
A.方法没有返回值B.方法体为空
C.没有意义 D.定义方法时必须使用
10.this和super:
A、都可以用在main()方法中
B、都是指一个内存地址
C、不能用在main()方法中
D、意义相同
二、填空题(共20分)
1、数组x定义:String x[ ][ ]=new int[3][2]; x[0 ][0 ]=”abc”, x[0 ][1]=”12345”; 则x.length 的值为________,x[0][1].length( ) 的值为_____。
2、在编写异常处理的Java程序中,每个catch语句块都应该与______语句块对应,使得用该语句块来启动Java的异常处理机制。
3、在Java程序中,通过类的定义只能实现单重继承,但通过____ 的定义可以实现多重继承关系。
4、面向对象有三大特点分别是继承、、。
5、实例化对象:就是创建一个对象。用_______运算符来实现对象的实例化。
6、接口中的成员只有静态常量和_方法声明_____。
7、关键字_____用于导入包中的类到程序中,供程序中使用。
8、表达式3/6 * 5的计算结果是____。
9、 Java的复合数据类型有 : 类、数组和等。
10、Java中所有类的默认超类为。
三、程序综合题(共40分)
1.阅读下面代码,写出其对应的输出结果(9分。)
public class Sum{
public static void main(String [] args){
int j=10;
System.out.println("j is : "+j);
calculate(j);
System.out.println("At last,j is : "+j);
}
static void calculate(int j){
for (int i=0;i<10;i++)
j++;
System.out.println("j in calculate() is: "+j);
}
}
输出结果为:
j is : (1)
j in calculate() is : (2)
At last j is : (3)
2.阅读下面代码,按要求填空。(10分)
abstract class SuperAbstract{
void a(){…}
abstract void b();
abstract int c(int i);
}
interface AsSuper
{
void x();
}
abstract class SubAbstract extends SuperAbstract implements AsSuper
{
public void b(){…}
abstract String f();
}
public class InheritAbstract extends SubAbstract{
public void x(){…}
public int c(int i ) {…}
public String f(){…}
public static void main(String args[]){
InheritAbstract instance=new InheritAbstract();
instance.x();
instance.a();
instance.b();
instance.c(100);
System.out.println(instance.f());
}
}
在以上这段程序中:
抽象类有:SuperAbstract和(1)(写出类名)
非抽象类有:(2)(写出类名)
接口有:(3)(写出接口名)
AsSuper中的x()方法是(4)方法,所以在InheritAbstract中必须对它进行(5)