网络教育课程考试复习题及参考答案
面向对象程序设计
一、填空题:
1.创建类的对象时,使用运算符___________给对象分配内存空间。
2.Java通过 来区分重载函数。 3.在子类中使用保留字_ _可调用被子类覆盖的父类中的方法。
4.使用保留字 可以从一个构造方法中调用同一个类的另一个构造方法。 5.抽象类用修饰符 定义。
6.类的数据成员的访问权限修饰符一般为
7.访问权限修饰符按照访问权限的大小从大到小分别为 、 、 、 。
8.定义类的构造方法不能有 ,其名称与 名相同。 9.抽象方法是的特征是 。 10.Java中的所有异常都是从 继承来的。 11.对象引用中存储的内容是 。 12.下列程序段执行后,
String str1 = new String(\ String str2 = new String(\ if (str1.equals(str2)) {
System.out.println(\ } else {
System.out.println(\ }
输出结果为: 。
13.下面循环执行后的sun值为 int count =0, sum = 0; while ( count <10 ) { sum += count; count ++; }
14.Java语言中关键字_ _表示双精度类型。
15.保留字_ _用于导入包中的类到程序中,供程序中使用。 16.Java语言中继承是用保留字 表示。
17.面向对象程序设计中,类是指 。 18.对象包含 和 。 19.若有类定义:
class B extends A{ … }
则类B是类A的_ 。
20.Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_ 块来捕获和处理异常。
21.多态是指 。 22.声明常量时使用修饰符 。
23.Java中异常抛出使用保留字 。
24.一个类成员或者方法前面加上了 修饰符,那说明该数据成员和方法可以直接通过类名来访问和调用。
25.如果类成员前面没有访问权限修饰符,则该类成员具有 访问权限。 26.下面 构造方法是非法的 a):
public int ClassA(int one){ … } b):
public ClassB(int one,int two){ … } c):
ClassC(){ … }
27.程序填空:
public void getData() {
String str = JoptionPane.showInputDialog(null,”Input:”); if (str.equals(“”){
throw new IOException(); } )
28.对象称为类的 。
29.Java程序的源文件以 为扩展名,编译后的文件以 为扩展名。
二、简答题:
1.类和对象的概念和关系是什么?
2.请说明对象声明和对象生成之间的区别,并使用内存状态图举例说明这种区别。 3.this和super两个保留字的意义和作用是? 4.构造器方法有什么特点和作用?
5.保留字throw和throws有什么区别? 6.将下面的while 循环改写为for循环 int count =1, sum = 0; while ( count <= 30 ) { sum += count; count +=3; }
7.Java语言编译和执行的过程是?
8.检查型异常和非检查型异常有何区别?
9.请改造下面的构造方法,使第一个构造方法调用第二个构造方法。 public ClassOne(int alpha) { this.alpha = alpha; this.beta = 0; }
public ClassOne(int alpha , int beta) { this.alpha = alpha; this.beta = beta; }
10.Java有哪几个访问权限修饰符,各起到什么作用?
11.请说明实例方法、类方法和构造器方法的特点和区别。
三、请写出下面的代码段的输出结果:
1.class Q2main{
public static void main(string[] args) { QuestionTwo q2;
q2= new QuestionTwo(); q2.init(); q2.increment(); q2.increment();
system.out.println(q2.getCount()); } }
class QuestionTwo{ private int count; public void int(){ count=1; }
public void increment(){ count=count+1; }
public int getCount(){ return count; } }
2.int gradeLevel;
switch (gradeLevel) { case 1:
System.out.print(\ case 2:
System.out.print(\
break;
case 3:
System.out.print(\ case 4:
System.out.print(\ break; default:
System.out.print(\ }
如果变量gradeLevel 在switch语句之前为以下数值,上述程序代码段执行后,将分别输出什么? a) 2 b) 3 c) 4 d) 5 3.int x;
for (int width = 1; width <=20, width++){
for (int length = 5, length <=25, length+=5){