面向对象程序设计1.docx

上传人:h**** 文档编号:26513038 上传时间:2022-07-18 格式:DOCX 页数:22 大小:19.81KB
返回 下载 相关 举报
面向对象程序设计1.docx_第1页
第1页 / 共22页
面向对象程序设计1.docx_第2页
第2页 / 共22页
点击查看更多>>
资源描述

《面向对象程序设计1.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计1.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象程序设计1 面向对象程序设计课程期末复习 一、填空题 1Java源程序的扩展名是.java ,经过编译后的程序的扩展名是.class 。2Socket通常也称为套接词,用于描述IP地址和端口。 3线程的优先级在0 至31 之间,数值越大任务越紧急 4构造方法是一种特殊的成员方法,构造方法名与类名相同 5Java语言只允许单继承,指每个类只能有一个父类。 6. 在面向对象方法中,类描述的是具有相似属性与操作的一组对象。 7. 对象是Java程序中基本的结构单位。 8. 组件不能独立地显示出来,必须将组件放在一定的容器中才能显示。 9. 能将显示空间分成很多层的布局管理器是CardLaty

2、out。 10. 任何一个Java程序都默认引入一个包,这个包的名字叫 ng。 11. Java语言中,有一个类是所有类或接口的父类,这个类的名称是Object。 12. 只能被同一包中的类访问的类中定义的成员变量是default成员 13. J2EE是大型企业级用容器管理专用组件的应用平台。 14. 在Java语言中,用abstract修饰符定义的类为抽象类。 15.Swing中用来表示面板的类是 16. Collection的接口和类的API 18.main方法的声明格式包括public static void main(Stringargs) 19.下列程序中构造了一个SET并且调用其方

3、法add(),输出结果是 ( 1 ) public class A public int hashCode()return 1; public Boolean equals(Object b)return true public static void main(String args) Set set=new HashSet(); set.add(new A(); set.add(new A(); set.add(new A(); System.out.println(set.size(); 20.下列程序的运行结果是 class A class Dog private String nam

4、e; private int age; public int step; Dog(String s,int a) name=s; age=a; step=0; public void run(Dog fast) fast.step+; public static void main (String args) A a=new A(); Dog d=a.new Dog(Tom,3); d.step=25; d.run(d); System.out.println(d.step); 21.Java语言中, final 类不能被继承。 22.Java中的构造方法名必须与类名同名,它没有返回值。 23

5、.AWT中用来表示对话框的类是 java.awt.Dialong 。 24.Frame框架窗口的默认布局管理器是 BorderLayout 。 25.点击窗口内的按钮时,产生的事件是 ActionEvent 。 三、多项选择 1.执行下列代码后,哪个结论是正确的 String s=new String10; A、 s10 为 ; B、 s9 为 null; C、 s0 为未定义 D、 s.length 为10 2.下面的表达式哪个是正确的? A、 String s=你好;int i=3; s+=i; B、 String s=你好;int i=3; if(i=s) s+=i; C、 String

6、 s=你好;int i=3; s=i+s; D、 String s=你好;int i=3; s=i+; E、. String s=null; int i=(s!=null)&(s.length0)?s.length():0; 3.选出合理的标识符 A、 _sys1_lll B、 2mail C、 $change D、 class 4.哪个布局管理器使用的是组件的最佳尺寸( preferred size) A、 FlowLayout B、 BorderLayout C、 GridLayout D、 CardLayout E、GridBagLayout 5.下列哪个方法可用于创建一个可运行的类?

7、A、 public class X implements Runable public void run() . B、 public class X implements Thread public void run() . C、 public class X implements Thread public int run() . D、public class X implements Runable protected void run() . E、public class X implements Thread public void run() . 6.下面哪个方法可以在任何时候被任何

8、线程调用? A、 notify() B、 wait() C、 notifyAll() D、 sleep() E、yield() F、synchronized(this) 7.构造BufferedInputStream的合适参数是哪个? A BufferedInputStream B BufferedOutputStream C FileInputStream D FileOuterStream E. File 8.下列说法正确的是 A ng.Clonable是类 B ng.Runnable是接口 C Double对象在 ng包中 D Double a=1.0是正确的java语句 9.指出正确的

9、表达式 A double a=1.0; B Double a=new Double(1.0); C byte a = 340; D Byte a = 120; 10.定义一个类名为MyClass.java的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为: A private class MyClass extends Object B class MyClass extends Object C public class MyClass D public class MyClass extends Object 11.指出下列哪个方法与方法public void add(int

10、 a)为合理的重载方法。 A public int add(int a) B public void add(long a) C public void add(int a,int b) D public void add(float a) 12.如果下列的方法能够正常运行,在控制台上将显示什么? public void example() try unsafe(); System.out.println(Test1); catch(SafeException e) System.out.println(Test 2); finallySystem.out.println(Test 3); S

11、ystem.out.println(Test 4); A Test 1 B Test 2 C Test 3 D Test 4 13.下列哪些情况可以终止当前线程的运行? A 抛出一个例外时。 B 当该线程调用sleep()方法时。 C 当创建一个新线程时。 D 当一个优先级高的线程进入就绪状态时。 四、程序阅读与填空题 1. 阅读程序给出结果 下列程序段用来计算Fibonacci序列的第0,1,2,各项 public class Fibonacci public static void main(String args) System.out.println(Fibonacci 第4项+ ()

12、); static int fib(int n) if (n=0|n=1) return n; else int sum=fib(n-1)+fib(n-2); return sum; 输出结果为: (2) 2. 按注释提示完成文件复制的程序 /FileStream源代码如下: import java.io.*; class FileStream public static void main(String args) try File inFile=new File(file1.txt); /指定源文件 File outFile=new File(file2.txt); /指定目标文件 Fil

13、eInputStream fis=(1)new FileInputStream(inFile); FileOutputStream fos=new FileOutputStream(outFile); int c; /逐字节从源文件中输入,再输出到fos流 while(c=fis.read()!=-1) (2)fos.write(c) ; fis.close(); fos.close(); catch(Exception e) System.out.println(FileStreamsTest: +e); 3. 阅读程序,给出结果 /B.java源代码如下: class A int x=10

14、0; class B extends A int x=200; void prt() System.out.println(SubClass: +x); System.out.println(SuperClass: +super.x); public static void main(String args) new B().prt(); 结果:SubClass:200 SuperClass: 100 4. 阅读程序,给出结果: / AbstractClassDemo.java源代码如下: abstract class Shape /定义抽象类Shape和抽象方法display abstrac

15、t void display(); class Circle extends Shape void display() /实现抽象类的方法 System.out.println(Circle); class Rectangle extends Shape void display() /实现抽象类的方法 System.out.println(Rectangle); class Triangle extends Shape void display() /实现抽象类的方法 System.out.println(Triangle); public class AbstractClassDemo p

16、ublic static void main(String args) (new Circle().display(); /定义无名对象来调用对应的display方法 (new Rectangle().display(); (new Triangle().display(); 结果:Circle Rectangle Triangle 五、判断题 F1. 下述代码是否正确 int b5; for(int i=0;i<5;i+) bi=i; F2. 下述代码是否正确 char b=A; System.out.println(b = + b); T3接口中的方法都是抽象方法。 F4如果一个类实

17、现了一个接口,则该类必须实现接口中的所有方法。 T5.Java中, ng.Object类是所有类的父类。 F6、public final abstract class FinalAndAbstract 以上的类定义是正确的。 F7、以下类定义是正确的。 public class MyClass extends A, B class A class B T8、关键字this表示的是当前对象,this只能用在方法中。 T9、在Java中,向上转型时不必使用强制类型转换。 如: class ParentClass class ChildClass extends ParentClass public

18、 class Test public static void main(String args) ParentClass parent=new ParentClass(); ChildClass child=new ChildClass (); parent=child; F10、在java中一个类不能继承一个类的同时实现3个接口。 F11、构造方法的返回值必须是void类型。 F12、以下定义的变量是正确的。float f=12.0; T13、一个类的属性既可以是基本类型的变量,也可以是对象变量 T14.JRE 是java运行环境,JRE 是由JVM 和 java platform 核心类以

19、及相关支撑文件组成。T15、Java中的字符使用的是 16 位的Unicode 编码。 T16、类是同种对象的集合和抽象。 T17、Java 仅支持类间的单重继承。 T18、接口是由常量和抽象方法组成的特殊类。 F19、构造函数的方法名可由编程人员任意命名。 F20、使用静态属性必须以类名做前缀。 F21、类的私有属性和私有方法可以被其子类访问。 F22、abstract 是抽象修饰符,可以用来修饰类及其属性和方法。 T23、Java 支持多线程机制。 F24、一个 Java 源程序中允许有多个公共类。 T25、Java 程序可以划分为两大类: Application 和 Applet F26

20、、for 语句中的循环体不能是空的。 F27、子类不能继承父类的构造函数。 F28、重载的方法可以通过它们的返回值类型的不同来区分。 T29、数组一定占用连续的内存空间。 F30. Java标识符允许以数字打头。 T31. 两个类在同一个包中定义,因此,其中的一个类就可以访问另一个类的私有成员变量。 F32. 接口的方法可以使用private进行修饰,接口中可以定义一般的成员变量。 F33. 在子类构造方法中使用super() 对父类构造方法进行调用时,super语句不必是子类构造方法的第一句。 T34. 一个适配器类实现并提供了一个事件监听器接口中所有的方法,而且这些方法都是空方法。 F35

21、. Integer i=new Integer(256); Integer j=new Integer(“256”); 则System.out.println(i=j);的结构应该是false. F36. class A extends B 语句中表示B是A的子类。 T37. “覆盖”方法为子类提供了修改父类成员方法的能力。用来覆盖的子类方法应和被覆盖的方法保持同名、同返回值类型,以及相同的参数个数和参数类型。 T38.Java为程序提供了一种catch-Throw(捕获-抛出)异常处理方式。 六、编程题 1.定义一个类Student,具有以下属性和方法: (1)三个private属性:姓名(

22、name,String)、年龄(age,int)、性别(sex,String) (2)8个public方法:1个带三个参数的构造方法、3个读取属性值的方法和3个设置属性值的方法、1个输出三个属性值的print方法 (3)main方法,创建一个实例student1,姓名为“张三”,年龄为30,性别为“男”,调用print方法输出student1的三个属性值。 public class Student private String name; private int age; private String sex; public Student(String name, int age, Stri

23、ng sex) super(); = name; this.age = age; this.sex = sex; public String getName() return name; public void setName(String name) = name; public int getAge() return age; public void setAge(int age) this.age = age; public String getSex() return sex; public void setSex(String sex) this.sex = sex; public

24、void print() System.out.println(姓名:+ + 年龄:+this.age+ 性别:+this.sex); public static void main(String args) Student student = new Student(张三,30,男); student.print(); 定义Student的一个子类GradulateStudent(研究生),具有以下属性和方法: (1)一个private属性:导师(teacher,String) (2)4个public方法:1个带四个参数的构造方法、1个读取导师属性的方法和1个设置导师属性的方法、1个输出四个

25、属性的print方法 (3)main方法,创建一个实例student2,姓名为“李四”,年龄为25,性别为“男”,导师为王五,调用print方法输出student2的四个属性值。 2.编写类TxtFileDemo ,要求完成以下功能: (1)使用学过的Writer、FileWriter 类,向c:test.txt文件写入:line 1n、line 2n、5678n、truen (2)利用Reader 、FileReader从文件c:test.txt中读入数据到一个字符数组中,并将字符数组数据显示到屏幕上 注意:对可能出现的异常要用异常处理机制进行处理。 3.在各个应用系统中,读者应该可以看到用

26、户登录程序的影子,下面就模拟一个简单的用户登录程序,为方便理解,使用初始化参数的方式输入用户名和密码。假定用户名为liuzhen,密码为123456。 注意: 采用初始化参数的方式即:通过main(String args)中的args数组带入参数。运行程序格式为:java LoginDemo1 用户名密码 运行结果分如下几种情况为: a.没有输入参数 输入的参数不正确,系统退出! b.输入的用户名及密码错误 错误的用户名及密码 c.输入正确的用户名和密码 欢迎刘臻光临! 分别采用面向过程的思想和面向对象的思想进行分析和程序设计 提示:采用面向过程的思想只需在main方法中按照步骤一步一步进行字

27、符串比较,看是否符合。采用面向对象的思想需要考虑定义几个类,具体可参考如下: class Check /主要功能是验证操作,只需要传入用户名和密码即可完成验证 public Boolean validate() /*执行具体的验证操作*/ class Operate private String info; public Operate() /构造方法 public Stirng login(). /执行登录操作 public void isExit() /退出系统(包括正常和非正常退出) class LoginDemo /实例化对象进行测试 public static void main(S

28、tring args) 4.按照主题一中图书借阅系统的分析,要求对图书类和读者类进行封装。 要求: 图书类中包括索引号、书名、作者、出版社、页数等信息。此外,还需要提供一种机制,能够获得并输出系统中已经存在的图书信息-class Book; 读者类中包括学号、姓名、密码、学院、专业、年级等信息。提供一种机制用于获得并输出系统中已经存在的读者信息class Users。 5.定义一个点类(Point)用来表示三维空间中的点(有三个坐标)。要求如下: (1).可以生成具有特定坐标的点对象。 (2).提供可以设置三个坐标的方法。 (3).提供可以计算该“点”距原点距离的方法。 (4).编写程序验证上述三条。 6.采用面向对象的思想编写求解几何图形(包括三角形、矩形、圆形)的周长、面积的应用程序,要求尽量用到继承、接口、上转型对象和包等技术。 提示:采用面向对象的思想需要考虑如何将上述案例进行适当的整合,找出其中有共性的地方,具体可参考如下: interface GetProperty /定义接口,将pi值、获取面积、获取周长、获取形状名字整合 class Mpoint /定义点

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁