面向对象程序的设计复习题与参考答案_第1页
面向对象程序的设计复习题与参考答案_第2页
面向对象程序的设计复习题与参考答案_第3页
面向对象程序的设计复习题与参考答案_第4页
面向对象程序的设计复习题与参考答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网络教育课程考试复习题及参考答案面向对象程序设计一、填空题:1. 创建类的对象时,使用运算符 给对象分配存空间。2. Java 通过 来区分重载函数。3. 在子类中使用保留字 _ _ 可调用被子类覆盖的父类中的方法。4. 使用保留字可以从一个构造方法中调用同一个类的另一个构造方法。5. 抽象类用修饰符 定义。6. 类的数据成员的访问权限修饰符一般为7. 访问权限修饰符按照访问权限的大小从大到小分别为8. 定义类的构造方法不能有,其名称与 名相同。9. 抽象方法是的特征是。10. Java 中的所有异常都是从 继承来的。11. 对象引用中存储的容是。12. 下列程序段执行后,String str

2、1 = new String(Java);String str2 = new String(Java);if (str1.equals(str2) System.out.println(They are equal); else System.out.println(They are not equal); 输出结果为: 。13. 下面循环执行后的 sun 值为int count =0, sum = 0;while ( count 10 ) sum += count;count +;14. Java 语言中关键字 _ _ 表示双精度类型。15. 保留字 _ 用于导入包中的类到程序中,供程序中使

3、用。16. Java 语言中继承是用保留字 表示。17. 面向对象程序设计中,类是指18. 对象包含和 。19. 若有类定义:class B extends A 则类 B 是类 A的_。20. Java 语言中 , 通常把可能发生异常的方法调用语句放到 try 块中,并用紧跟其后的 _ 块来捕 获和处理异常。21. 多态是指。22. 声明常量时使用修饰符。23. Java 中异常抛出使用保留字 。24. 一个类成员或者方法前面加上了修饰符,那说明该数据成员和方法可以直接通过类名来访问和调用。25. 如果类成员前面没有访问权限修饰符,则该类成员具有访问权限。26. 下面构造方法是非法的a) :p

4、ublic 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. 请说明对象声明和对象生成之间的区别,并

5、使用存状态图举例说明这种区别。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;t

6、his.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(); syst

7、em.out.println(q2.getCount();class QuestionTwoprivate 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(Go to the 101);case 2: System.out.print(Go to 202);break;case 3:System.out.pr

8、int(Go to 303);case 4:System.out.print(Go to 404);break;default: System.out.print(default);如果变量 gradeLevel 在 switch 语句之前为以下数值,上述程序代码段执行后,将分别输出什么?a) 2b) 3c) 4d) 53.int x;for (int width = 1; width =20, width+)for (int length = 5, length =25, length+=5)x = width * length;System.out.print ( + x);System.

9、out.println();输出结果为:4. class MyException1 extends Exception public MyException1() public MyException1(String msg) super(msg); public class ExceptionTestpublic static void f() throws MyException1 System.out.println(The 1st line of f(); throw new MyException1(Exception1:Originated in f();public static

10、 void main(String args) System.out.println(The 1st line of main();try System.out.println(The 2nd line of main();f();System.out.println(The 3rd line of main(); catch(MyException1 e) System.out.println(e.getMessage();finally System.out.println(The 4th line of main();System.out.println(The 5th line of

11、main();输出结果为:5.import java.io.*;class BaseBase()System.out.println(Base();void m1()System.out.println(Base.m1();class Derived extends BaseDerived() this(default);System.out.println(Derived();Derived(String ss)System.out.println(ss);void m1()System.out.println(Derived.m1();public class Application1pu

12、blic static void main(String args) Base b;b=new Derived();b.m1(); 输出结果为:6. class Shape void draw()System.out.println(Shape.draw();class Circle extends Shape void draw() System.out.println(Circle.draw();class Square extends Shape void draw() System.out.println(Square.draw();public class Shapes public

13、 static void main(String args) Shape s = new Shape3; s0=new Shape(); s1=new Circle(); s2=new Square() for(int i = 0; i 3; i+) si.draw();输出结果为:7. trynumber = Integer. parseInt(“-30 ”);i f (number 0) throw new Exception( “ No negative ” );catch(NumberFormatException e)System.out.println(“ Can not cove

14、rt to int” );catch (Exception e )System.out.println(“ Error: ” +e.getMessage();finally System.out.println(“ DONE” ); 输出结果为:8. class Value int i=10;class Testerpublic static void test(int x)x=20;public static void test(Value v)v.i =20;public static void main(String args) Value v1=new Value();int x=10

15、;Tester.test(x);Tester.test(v1);System.out.println(x);System.out.println(v1.i);9. class Rock Rock() System.out.println(Creating Rock);Rock(int i) System.out.println(Creating Rock number + i);public class SimpleConstructor public static void main(String args) for(int i = 0; i 3; i+) if(i=1) new Rock(

16、); else new Rock(i);lass BicycleRegistration public static void main(String args) Bicycle bike1,bike2; bike1 = new Bicycle( );bike2=new Bicycle( “ xxxx ” );bike1.setOwnerName(Test);System.out.println(bike1.getOwnerName( ) + owns a bicycle.);System.out.println(bike2.getOwnerName( ) + also owns a bicy

17、cle.);class Bicycle private String ownerName;public Bicycle( ) ownerName = Unknown;public Bicycle(String name ) ownerName = name;public String getOwnerName( ) return ownerName;public void setOwnerName(String name) ownerName = name;输出结果为:四、编程题:1. 编写一段 Java 程序代码,用一个对话在分开的两行中显示两条消息:“I Can Design ”和“ An

18、d I CanProgram”。2. 编写一个 Java 程序,对于给定的年份,回答“ Leap Year ”(闰年)或者“ Not a Leap Year ”(平年)。 如果一个年份能被 4整除,但是不能被 100整除,它是闰年;如果一个年份能被 100 整除,也能被 400 整除,它也是闰年。需要定义名为 LeapYear 的服务提供类3. 编写一个 do-while 循环以计算正整数中前 30 个奇数的累加和。4. 编写可以根据用户年龄和身高给出推荐的体重的的Java 程序,利用下面的公式计算出推荐的体重:recommendedWeight = (height 100 + age/10)

19、 *0.9需要定义名为 Height (身高)的服务提供类,它应该会有可以根据身高得到推荐提供的方法。5. 请按照以下要求写出完整的程序代码(要求能上机编译运行):1) 创建一个抽象类 AAbstractBase ,该类至少包含一个抽象方法 ;2) 创建一个类 TestClass ,该类继承 AAbstractBase ,并包含两个构造器方法;6. 定义一个 Vehicle 类,类中包含一个 Person 类型的数据成员 owner 、一个获得 owner 值的访问方法和 一个设置 owner 值的访问方法。 定义 VehicleManage 个类,该类包含主方法, 并在主方法中创建 Vehi

20、cle 类的对象,并调用其设置 owner 和获取 owner 的方法。一、填空题:1.new2.3. super4.this5. abstract6.private7. public 、 protected 、包访问权限、9. 只有方法声明没有方法体11. 对象的存储地址13.50参考答案不同的参数列表private 8. 返回值类型 、类10.Throwable12. They are equal14.double15.import 16.extends17. 一个或多个相似对象的抽象描述18.19. 子类(导出类) 20.catch21. 允许一个变量指向不同类的对象22.final23

21、.throw24.static25. 包 26.a27.throws Exception 28.29.java 、 class二、简答题:数据、执行在数据上的操作实例1. 对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和 对这组属性进行操作的一组服务组成,类是具有相同属性和服务的一组对象的集合。类是对象的模板, 对象是类的实例2. 对象声明是为对象的引用创建一个空间,而对象生成则是创建一个类的实例,即为对象分配空间,如 果需要的话,其还会将对象空间的地址赋给其应用。如 Tester t1;t1t1 = new Tester();3.this 它代表当前对

22、象名, 可用来调用本类中另一种形成的构造函数 (应该为构造函数中的第一条语句) 在程序中易产生二义性之处,应使用 this 来指明当前对象; super: 它引用当前对象的直接父类中的 成员,可以用来调用基类中的某一个构造函数(应该为构造函数中的第一条语句, )也可以用来在基类与派生类中有相同成员定义时直接访问父类中被隐藏的父类中成员数据或函数。4. 构造器一般用于对类进行初始化。其特点如下:a)其定义形式跟类中其他方法基本类似b)其方法名与类名完全相同(包括大小写) 。c)其在对象被创建时自动被 Java 调用,而无需用户干预d)其没有返回值类型。e)一个类可以定义多个构造方法5. thro

23、w 用于抛出一个异常, throws 则是用于声明未必处理的运行时异常。6. sum=0;for(int count=1;count=30;count+=3)sum+=count;7. Java 编译器将以 .java 为后缀名的 Java 源代码文件编译成以 .class 结尾的字节码文件。 Java 的虚拟 机再根据不同的软硬件平台将 .class 文件翻译成机器码文件予以执行。8. 因为编程错误而导致的异常,或者是不能期望程序捕获的异常(解除引用一个空指针,数组越界,除 零,等等) ,为了使开发人员免于处理这些异常,一些异常被命名为非检查型异常(即那些继承自 RuntimeExcepti

24、on 的异常)并且不需要进行声明,而检查型异常如果没有捕获则需在方法头部进行声 明。9. public ClassOne(int alpha) this(alpha,0);public ClassOne(int alpha , int beta) this.alpha = alpha;this.beta = beta;10. public :表明该成员变量和方法是共有的,能在任何情况下被访问。 protected :必须在同一包中或 者该类的导出类中才能被访问; private: 只能在本类中访问;缺省的为包访问权限,在同一个包中可 以访问11. 类方法前面有 static 保留字,其不需要创

25、建类的实例,通过类名即可访问;实例方法则为普通方法, 其需要创建类的实例后通过实例访问;构造方法的名称与类名完全相同,其在创建类的实例是自动执 行。三、请写出下面的代码段的输出结果:1.32.( a ) Go to 202(b)Go to 303Go to 404c) Go to 404d) default3.5 1015202510203040501530456075204060801002550751001254.The 1st line ofman()The 2nd line of main() The 1st line of f() Exception1:Originated in f

26、() The 4th line of main() The 5th line of main() 5.Base()defaultDerived()Derived.m1()6. Shape.draw()Circle.draw()Square.draw()7. Error:No negativeDONE8. 10209. Creating Rock number 0 Creating Rock Creating Rock number 210. Test owns a bicycle. xxxx also owns a bicycle.四、编程题:1.import javax.swing.*;pu

27、blic class Test public static void main(String args) JOptionPane.showMessageDialog(null,I Can DesignnAnd I Can Program);2. public class Testpublic static void main(String args) LeapYear ly=new LeapYear(); System.out.println(puteLeapYear(1998); System.out.println(puteLeapYear(1900); System.out.println(puteLeapYear(2000);class LeapYearpublic boolean computeLeapYear(int year)if (year % 4 = 0 & year % 100 != 0 )return true;if (year % 100 = 0 & year % 400 = 0 )return true;return false;3. public class Testpublic static void

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论