1、JAVA语言与面向对象程序设计期末复习题 2023年上(一) 单项选择题(二) 1对象是构成现实世界的一个独立单位,它具有自己的静态特性和( )特性。 A. 颜色 B. 动态 C. 状态 D. 重量 2使用JDK编译java程序时使用的命令是( )。 A. java B. javac C. appletviewer D. javadoc 3在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符()。 A. private B. protected C. public D. static 4在类的定义中,若需要把一个标记符定义为常量,则使用的修饰符为()。 A. const B. fi
2、nal C. static D. class 5在程序中声明包的语句关键字为()。 A. volatile B. pack C. import D. package 6在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为()。 A. catch B. throw C. throws D. finally 7在类定义首部的语法格式中,( )不能作为其中的修饰符。 A. public B. protectd C. extends D. abstract 8下列哪个类不是异常类的父类?( )。 A. Error B. Throwable C. Exception D. Object
3、 9下面的关键字( )与异常解决无关。 A. throw B. throws C. import D. finally 10在读字节文献Employee.dat 时,使用该文献作为参数的类是( )。 A. BufferedReader B. DataInputStream C. DataOutputStream D. FileInputStream (二)填空题 1Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为_。 2Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为_和_。 3Java语言中的方法M
4、ath.random()返回0到_之间的一个随机小数。 4假定没有给一个类XXK2显式地定义任何构造函数,则运用new运算创建该类的一个对象时,自动调用的构造方法为_。 5假定要在一个类中访问另一类XXK4中的静态成员abc,则此访问应表达为_。 6在方法调用中,一方面需要实参表中的实参向形参表中的形参进行传递,此递分为_传递和_传递两种方式。 7Java语言中的类的体系结构为_结构。根节点为_类。 8定义一个终结类需要在类首部的关键字class前使用的修饰符为_。 9假定一个字符串对象x的值为abc,则pareTo(def)的值为_0。 10 假定要定义一个int型的一维数组为x,并假定它的
5、长度为10,则其定义语句为int x=_。 11.在Java语言中,Exception下的异常分为两类:即检查型异常和_型异常。 12输入流类(InputStream)和输出流类(OutputStream)是java.io包中所有_流的抽象基类。 13javax.swing包里的Swing组件归为三个层次:顶层容器、_容器和原子组件。 14Swing提供了三个顶层容器的类,分别是JFrame、_和JApplet。 15每个线程具有四种基本状态:就绪状态、_、死亡状态和阻塞状态。 (三)判断题 1假如在派生类的构造方法的定义中没有明确调用父类的构造方法,则系统在执行派生类的构造方法时也不会隐含调
6、用父类的缺省构造方法。 2任何一个派生类的引用变量(或对象)都可以被当成一个父类的引用量(或对象)。 3在Java语言中,可以把实现了一个接口的类对象,赋给这个接口的变量。 26抽象类只允许包含抽象方法,不允许包含非抽象的方法。 4在Java语言中,既不能运用抽象类生成对象,也不能运用接口生成对象。 5接口中的一些成员方法默认不具有public和abstract修饰。 6一个包不仅可以包含若干个类字节码文献,还可以包含若干个包。 7在Java语言中,声明包语句可以出现在一个Java程序文献的任何位置。 8数组的长度不可以被改变,而向量类(Vector)对象的长度可以被改变。 9向文本文献中写入
7、字符数据,在任何时候都只需要用到文献写入器类(FileWriter),不需要用到缓冲写入器类(BufferedWriter)。 10在对文献进行的输入/输出(I/O)方法的调用中,当碰到错误时常会抛出除IOException异常之外的其他异常。 11输入流类(InputStream)和输出流类(OutputStream)是用来解决字节流的抽象基类。 12java.io包中提供的ObjectInputStream类可以从文献中读取对象类型的信息。 13原子组件通常是在图形用户界面中与用户进行交互的组件。 14当浏览器装入一个具有Applet的Web页时,Applet不会被下载到该浏览器中。 15
8、JDBC隔离了Java与不同数据库之间的对话,使得 Java程序无须考虑不同数据库管理系统平台之间的差异。 (四)简答题 1、试述Applet 类有哪些方法可以被浏览器自动调用?简述它们的作用。 2、简朴说明线程的生命周期及线程的状态? 3、Java语言中的线程和多线程指的是什么? (五)、编程 1、 编写一个java小应用程序、文献名叫p1、创建2个面板、在粉色面板里分别添加5个选择框内容是:哈尔滨工业大学;哈尔滨工程大学;哈尔滨理工大学;哈尔滨师范大学;哈尔滨商业大学、在黄色面板里添加2个单选按纽内容是:男、女。 2、编写一个小应用程序、文献名叫p3、在小程序中有一个面扳P,背景颜色是红色
9、,面板里添加一个画布组件, 画布组件背景颜色是兰色, 画布大小是100*90,在画布上画一个矩形, 矩形顶点坐标是(50,70) ,矩形宽是40,高是50. 在小程序中添加另一个画布,画布组件背景颜色是兰色, 画布大小是100*90,在画布上画一个圆形, 圆顶点坐标是(30,35) ,半径是40。 3、运用窗口事件适配器创建一个可关闭的空白窗口,文献名为p4 4、编写一个小应用程序、文献名叫p5、在小应用程序的容器中加入一个拟定按钮和一个文本框。当点击按钮时,在文本框内显示按钮的名字。 5、绘制一条蓝色直线,直线的起点坐标为30、20,终点坐标为55、70。文献为p6。 6、在窗口上随机绘制5
10、0条直线。文献名为p7 7、绘制一个圆角矩形,矩形左上角角点的坐标为40、40,矩形的宽度为100、高度为70。圆角宽度为50、高度为50。文献名为不a1。8、创建4个按扭分别叫查找、删除、添加、修改、并添加到小应用程序中,设立布局方式为顺序布局。文献名叫a2。 9、绘制一条直线,直线的起点坐标为40、30,终点坐标为60、80。文献名为a3。 10、绘制一个颜色是蓝色的椭圆,椭圆的大小及位置任意,文献名为a4。 11、创建一个下拉式列表、规定有4个选项、分别为查找、添加、删除、退出、文献名为a5。 试题参考答案(一)单项选择题 1. B 2. B 3. C 4. B 5. D 6. C 7.
11、 B 8. A 9. C 10. D (二)填空题 1. 应用程序接口2. protected、private 3. 1 4. XXK2()5. XXK4.abc 6. 按值、引用7. 层次(树状)、Object(java.lang.Object) 8. final 9. 小于 10. new int10;11. 非检查 12. 字节13. 中间层 14. JDialog 15. 运营状态(三)判断题 1. 错 2. 对 3. 对 4. 对 5. 错 6. 对 7. 错 8. 对 9. 错 10. 错 11. 对 12. 对 13. 对 14. 错 15. 对 (四)、简答题 答:1、Appl
12、et 类可以被浏览器自动调用的方法有 init()、 start()和 paint(),其中init()方法用来完毕主类实例的初始化工作,start()方法用来启动浏览器运营Applet的主线程,paint()方法的重要作用是在Applet的界面中显示文字、图形和其他界面元素。 2、一个线程也有从创建、运营到消亡的过程,称为线程的生命周期。使用线程的状态表白线程处在生命周期的哪个阶段。线程有创建、可运营、运营中、挂起、死亡5种状态。通过线程的控制和调度可使线程在这几种状态间转化。3、线程是比进程更小的运营单位,是进程中单个顺序的流控制。一个进程中以包含多个线程。Java.lang中的线程类Th
13、read封装了所有需要的线程操作控制,有很多方法用来控制一个线程的运营、休眠、挂起或停止,这就是Java的多线程机制。 (五)、编程答案 1、import java.applet.*;import java.awt.*; class Myp1 extends Panel Checkbox box1,box2;CheckboxGroup sex; Myp1() sex=new CheckboxGroup(); box1=new Checkbox(男,sex,true); box2=new Checkbox(女,false,sex); add(box1);add(box2); setBackgro
14、und(Color.yellow); class Myp2 extends Panel Checkbox box1,box2,box3,box4,box5; Myp2() box1=new Checkbox(哈尔滨工业大学); box2=new Checkbox(哈尔滨工程大学); box3=new Checkbox(哈尔滨理工大学); box4=new Checkbox(哈尔滨师范大学); box5=new Checkbox(哈尔滨商业大学); add(box1);add(box2);add(box3);add(box4);add(box5); setBackground(Color.pin
15、k); public class p1 extends Applet Myp1 p1; Myp2 p2; public void init() setLayout(new GridLayout(1,2); p1=new Myp1(); p2=new Myp2(); add(p1);add(p2); 2、import java.awt.*;import java.applet.*; class Mycanvas extends Canvas String s; Mycanvas(String s) this.s=s; setSize(100,90); setBackground(Color.bl
16、ue); public void paint(Graphics g) if(s.equals(circle)g.drawOval(30,35,40,40); else if(s.equals(rect) g.drawRect(50,70,40,50); public class p3 extends Applet Mycanvas canvas1,canvas2; public void init() canvas1=new Mycanvas(circle);canvas2=new Mycanvas(rect); add(canvas1); Panel p=new Panel();p.setB
17、ackground(Color.red); p.add(canvas2); add(p); 3、import java.awt.*; import java.awt.event.*; public class p4 extends Frame W2() super(Window2); setSize(350,200); setVisible(true); addWindowListener(new Win(); public static void main(Stringargs) new W2(); class Win extends WindowAdapter public void wi
18、ndowClosing(WindowEvent e) System.exit(0); 4、 import java.applet.*; import java.awt.*; import java.awt.event.*; public class p5 extends Applet implements ActionListener TextField text; Button button; public void init() text = new TextField(10); button = new Button(拟定); add(text);add(button); text.se
19、tLocation(10,10); button.setLocation(30,10); button.addActionListener(this); public void actionPerformed(ActionEvent e) text.setText(button.getLabel(); 5、import java.applet.Applet; import java.awt.Graphics; public class p6 extends Applet public void paint(Graphics g) g.setColor(Color.blue ); g.drawL
20、ine(30,20,55,70); 6、import java.applet.Applet; import java.awt.Graphics; public class p7 extends Applet public void paint(Graphics g) int i,x1,y1,x2,y2; for(i=1;i=50;i+) x1=(int)(Math.random()*10); y1=(int)(Math.random()*200); x2=(int)(Math.random()*380); y2=(int)(Math.random()*200); g.drawLine(x1,y
21、1,x2,y2); 7、import java.applet.Applet; import java.awt.Graphics; public class a1 extends Applet public void paint(Graphics g) g.drawRoundRect(40,40,100,70,50,50); 8、import java.awt.*; import java.applet.Applet; public class a2 extends Applet public void init () setLayout(new FlowLayout(FlowLayout.LE
22、FT,70,50); add(new Button(查找1); add(new Button(删除2); add(new Button(添加3); add(new Button(修改); 9、import java.applet.Applet; import java.awt.Graphics; public class a3 extends Applet public void paint(Graphics g) g.drawLine(40,30,60,80); 10、import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; public class a4 extends Applet public void paint(Graphics g) g.setColor(Color.blue ); g.drawArc(0,40,80,40,0,360);