面向对象技术java期末复习试卷
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案
![《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案](https://img.taocdn.com/s3/m/837e9f204a73f242336c1eb91a37f111f1850d5d.png)
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.cla某{....}B.taticcla某implementy1,y2{....}D.cla某e某tendy{....} C.publiccla某e某tendApplet{....}3.下列语句序列执行后,k 的值是Bintm=3,n=6,k=0;while((m++)<(--n))++k;i++先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。
++ii先自增1,再把自增后的值赋给表达式(++i)。
如i=1,则表达式(++i)的值等于2,i的值也为2,A.0B.1C.2D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0]=7;B.i=i+2C.i++---j;D.a(0)=66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k的值是Cinti=10,j=18,k=30;witch(j-i){cae8:k++;cae9:k+=2;cae10:k+=3;default:k/=j;}A.31B.3C.2D.337.设有定义float某=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是CA.某>y||某>zB.z>(y+某)C.某!=yD.某<y&!(某<z)8.下列修饰符中,定义类头时能使用的修饰符是CA.privateB.taticC.abtractD.protected9.设i、j、k为类某中定义的int型变量名,下列类某的构造函数中不正确的是BA.某(intm){...}B.void某(intm){...}D.某(inth,intm,intn){...}C.某(intm,intn){...}10.下列对封装性的描述中,错误的是DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型D.包有有名包和无名包两种C.包是使用package语句创建的12.下列关于Applet程序的描述中,错误的是CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是A.DialogB.FrameCC.LitD.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是D A.haNe某t()B.ne某t()16.主线程属于A.守护线程C.remove()D.ne某tElement()(C)B.Thread线程C.用户线程D.Runnable线程二、填空题1.2.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。
面向对象技术Java期末复习试卷
![面向对象技术Java期末复习试卷](https://img.taocdn.com/s3/m/739a9f61443610661ed9ad51f01dc281e43a5656.png)
期末复习试卷(五)一、程序题1、请根据UML图,代码实现Person类、Student类和Volunteer接口旳定义。
解题规定:编写测试程序,创立一种名为”Tom”旳一年级学生,这名学生参与了“北京青年志愿者协会”旳活动。
输出该学生旳姓名、年级及所属社团旳信息。
效果如下:interface Volunteer{public abstract String volunteer(String organization);}class Person{2、根据给定旳GeometricObject类层次图,分别实现GeometricObject、Circle和Triangle 类。
规定:(1)按照类图,定义各类旳数据域属性和措施。
(2)默认旳GeometricObject旳颜色为white。
默认旳Circle对象旳半径为10。
默认旳Triangle对象旳三边为(3,4,5)。
(3)GeometricObject类旳toString()措施,返回对象旳颜色信息。
Circle和Triangle旳toString()措施,覆盖父类旳toString(),分别返回包括颜色信息、半径或边长旳信息。
(4)GeometricObject类实现parable接口,覆盖public int compareTo()措施,实现两个几何对象在周长上旳比较。
(5)Circle和Triangle类分别覆盖实现getPerimeter()。
编写一种顾客程序:(1)创立一种几何对象数组object;(2)分别寄存一种默认旳圆、一种半径为20旳圆、一种默认旳三角形和一种三边为(10,20,15)旳三角形;(3)计算这一组几何对象旳总周长并输出;(4)使用toString(),输出每个几何对象旳有关信息;(5)使用java.util.Arrays.sort()措施,对几何对象数组中旳几何图形,按周长进行排序,并输出排序成果。
解题规定:写出程序代码。
面向对象技术Java 期末复习试卷(三)
![面向对象技术Java 期末复习试卷(三)](https://img.taocdn.com/s3/m/4683c49b1eb91a37f0115cbc.png)
期末复习试卷(三)一、单项选择题1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源文件名是()A。
teststudent。
javaB。
teststudent 。
classC. TestStudent。
javaD. TestStudent。
class正确答案:C解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(public),该java文件的名字要与公共类的一致.2、关于下面的代码,哪个描述是正确的?public class Test{public static void main(String[]args){Integer n1 = new Integer(3);Object n2 = new Integer(4);System.out.println(pareTo(n2));}}A。
可以编译通过,可以运行,并得到预期结果.B。
可以编译通过,可以运行,但不能得到预期结果。
C。
可以编译通过,但又运行错误.D. 有编译错误。
正确答案:D解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer 类,T被替换为Integer,如下图:因此,Integer类中compareTo()方法的定义如下:因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer:System。
out.println(pareTo(n2));正确写法如下:System.out.println(pareTo((Integer) n2));类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。
Java面向对象程序设计期末复习试题(附解析)
![Java面向对象程序设计期末复习试题(附解析)](https://img.taocdn.com/s3/m/7703df8a312b3169a551a4ae.png)
JAVA面向对象程序设计复习试题+解析1)在JAVA编程中,关于Font下列()是正确的。
(选择两项)a)在我们的程序中可以使用Font类中定义的字体常量。
b)我们可以使用Tookit类中的函数来获取我们的机器中java所支持的字体的列表c)我们可以自己创建字体实例对象d)以上说明都正确【解析】参考答案:A BFont属于java.awt包中的一个类,专门用来设置程序中的字体实例对象。
创建Font类的对象时使用的方法:getFont(int face,int style,int size);例如:Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM);无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。
下面对于其中的三个参数的取值做详细的介绍:face参数指字体的外观;style参数指字体的样式;size参数指字体的大小。
这三个参数都是系统中定义好的一些常量。
获得系统的默认字体:Font font = Font.getDefaultFont();ToolKit类是 Abstract Window Toolkit 的所有实际实现的抽象父类。
Toolkit 用于把各种组件绑定到特定的本地工具箱实现上。
该类有个方法getFontList()用于返回该工具箱中可用字体名。
也就是可以获取机器中java所支持的字体的列表。
2)在Java语言中,在包Package1中包含包Package2,类Class_A直接隶属于包Package1,类Class_B直接隶属于包Package2。
在类Class_C要应用Class_A的方法A和Class_B 的方法B,你需要()语句。
(选择两项)a)import Package1.*;b)import Package1.Package2.*;c)import Package2.*d)import Package2.Package1.*;【解析】A BJava语言中的包机制就像Windows中的文件夹,用来归类类文件的位置。
面向对象程序设计(JAVA)期末考试考试卷(A卷)
![面向对象程序设计(JAVA)期末考试考试卷(A卷)](https://img.taocdn.com/s3/m/f8c897170029bd64783e2cd5.png)
课程代码:座位号:大学20 -20 学年度第二学期期末考试《面向对象程序设计》试卷: 学号: 专业:学院: 班级:20 年月日一、单选题(10小题,共10分)1.下列选项中,用于在定义子类时声明父类名的关键字是【】A.interface B. package C. extends D. class2.在以下哪种情况下可以获得缺省构造器? 【】A.当作任何类的定义时 B.当类没有其它构造器时C.当定义至少一个构造器的时 D.从不需要3.如果局部变量和成员变量同名,如何在局部变量作用域引用成员变量?【】 A.不能引用,必须改名,使它们的名称不相同B.在成员变量前加this,使用this访问该成员变量C.在成员变量前加super,使用super访问该成员变量D.不影响,系统可以自己区分4.在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句来完成【】A.try子句B.catch子句 C.finally子句 D.throw子句5.下面哪个流类属于面向字符的输入流【】A.BufferedWriter B.FileInputStream C.ObjectInputStream D.InputStreamReader6.在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是【】。
A.java.applet B.java.awt C.java.util D.ng7.下面程序定义了一个类,关于该类说确的是【】Abstract class abstractClass{……}A. 该类能调用new abstractClass(),方法实例化为一个对象B. 该类不能被继承C. 该类的方法都不能被重载D. 以上说法都不对8.已知有下面类的说明:public class X5_1_1 extends x{private float f =10.6f;int i=16;static int si=10;public static void main(String[] args) {X5_1_1 x=new X5_1_1();}}在main()方法中,下面哪条语句的用法是正确的?【】A.x.f B.this.si C .X5_1_1.i D.X5_1_1.f9.下列说法中,错误的一项是【】A.Thread类中没有定义run()方法 B.可以通过继承Thread类来创建线程C.Runnable接口中定义了run()方法 D.可以通过实现Runnable接口创建线程10.当一个Statement对象要执行一个查询类的SQL语句,调用的方法是【】A. executeQueryB.executeC. executeUpdatemit二、填空题(10小题,共10分)1.Java应用程序中有多个类时,java命令后的类名必须是包含了___________方法的那个类的名字。
Java面向对象期末模拟试卷A
![Java面向对象期末模拟试卷A](https://img.taocdn.com/s3/m/8ac628f709a1284ac850ad02de80d4d8d15a0113.png)
Java面向对象期末模拟试卷A分值100一、选择题(每小题2分,共40分)1.以下关于类的结构的说法正确的是()A.类只能包含一个构造方法B.类可以没有属性C.类只能包含方法D.类只能包含属性2.面向对象的特点是()A.继承、封装、多态 B.继承、接口、对象C.方法、继承、类 D.接口、继承、类3. 在java中,以定义了两个接口B和C,要定义一个实现这两个接口的类,以下语句的正确的是( )A.interface A extends B,CB.interface A implements B,CC.class A implements B,CD.class A implements B,implements C4.在Java中,关键字()使类不能派生出子类。
A.finalB.privateC.publicD.static5.在Java中,下面关于抽象类的描述正确的是( )。
A.抽象类可以被实例化B.抽象类里面一定有抽象方法C.抽象类中的方法必须都是抽象的D.声明抽象类必须带有关键字abstract6. 给定java代码,如下,编译运行后,结果是 ( )。
public class Test{static String s;public static void main(String args[ ]){char c=s.charAt(0);System.out.println(c);}}A. 编译错误B. 运行期异常,异常类型为 NullpointerExceptionC. 运行期异常,异常类型为 ArithmeticExceptioinD. 运行正常,但无输出内容7.下面程序运行结果为:()public class Test{public static void main(String[] args){new Test().test();}public void test(){try{System.out.print("try");}catch(Exception ex){System.out.print("catch");}finally{System.out.print("finally");}}}A. tryB. try catchC. try finallyD. try catch finally8. 关于继承的说法正确的是()A.子类将继承父类所有的属性和方法。
面向对象期末考试题及答案
![面向对象期末考试题及答案](https://img.taocdn.com/s3/m/8513a3e264ce0508763231126edb6f1aff0071ee.png)
面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。
答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。
面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。
通过对象之间的交互来实现程序的功能。
2. 解释什么是多态性,并给出一个简单的例子。
答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
例如,在Java中,可以通过重载和重写来实现多态。
假设有一个动物类Animal,它有一个方法makeSound()。
然后有一个子类Dog,它重写了makeSound()方法。
当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。
3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。
封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。
三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。
JAVA语言与面向对象程序设计期末复习题
![JAVA语言与面向对象程序设计期末复习题](https://img.taocdn.com/s3/m/68dd910b5901020207409c4d.png)
JAVA语言与面向对象程序设计期末复习题2011年上(一)单项选择题(二) 1.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。
A. 颜色B. 动态C. 状态D. 重量2.使用JDK编译ja v a程序时使用的命令是()。
A. javaB. javacC. appletviewerD. javadoc3.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符()。
A. privateB. protectedC. publicD. static4.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为()。
A. constB. finalC. staticD. class5.在程序中声明包的语句关键字为()。
A. volatileB. packC. importD. package6.在一个方法的方法头(声明)中向调用它的上一层方法抛出异常的子句关键字为()。
A. catchB. throwC. throwsD. finally7.在类定义首部的语法格式中,()不能作为其中的修饰符。
A. publicB. protectdC. extendsD. abstract8.下列哪个类不是异常类的父类?()。
A. ErrorB. ThrowableC. ExceptionD. Object9.下面的关键字()与异常处理无关。
A. throwB. throwsC. importD. finally10.在读字节文件Employee.dat 时,使用该文件作为参数的类是()。
A. BufferedReaderB. DataInputStreamC. DataOutputStreamD. FileInputStream(二)填空题1.Java类库也称为Java API,它是Application Programming Interface的缩写,中文含义为________。
2.Java语言中用于修饰类的成员具有保护或私有访问属性的关键字分别为________和________。
面向对象技术Java-期末复习试题(二)讲课稿
![面向对象技术Java-期末复习试题(二)讲课稿](https://img.taocdn.com/s3/m/99477fb9f90f76c661371ad9.png)
面向对象技术J a v a-期末复习试题(二)期末复习试题(二)一、程序题1、编写程序创建Point类,要求如下:(1)double类型的数据域x和y分别表示点的坐标;(2)x、y的get和set方法;(3)一个无参构造方法;(4)一个创建点对象同时指定x和y坐标的有参的构造方法;(5)一个名为distance(Point p)的方法,返回从该点到指定点之间的距离;(6)一个名为distance(double x, double y)的方法,返回从该点到指定x和y坐标的指定点之间的距离。
解题要求:编写测试类,分别调用两个distance方法,计算:(1)点(2,3)到(10,30)之间的距离并显示;(2)点(4,5)到(20,50)之间的距离并显示。
2、下图是课程类Course的UML类图,说明如下:(1)成员变量包括课程名称(courseName)和选课学生(students),选课学生存放在ArrayList链表中。
(2)包括成员变量的set和get方法。
(3)一个输出课程信息的方法toString(),可以输出课程名称、选课学生名单和选课人数。
(4)一个添加学生的方法addStudent(String student)。
(5)一个查询选课学生数量的方法getNumberOfStduents()解题要求:编写测试类,创建课程对象,添加3个选课学生,按照如下提示输出课程信息。
3、下图描述了两个类:Line(线段)和Point(点),以及两个类之间的关联关系,一条线段对象由对应的两个点对象组成。
解题要求:要求如下:(1) 编写Line(线段)和Point(点)两个类的代码,注意满足封装的需求。
将数据隐藏,通过方法访问数据。
(2) 使用Line类的Line(x1: int, y1: int, x2: int, y2: int)方法,创建Line对象,端点是(10,20)、(30,40),计算并输出线段的长度。
java期末考试复习题
![java期末考试复习题](https://img.taocdn.com/s3/m/eb663e7eabea998fcc22bcd126fff705cd175c47.png)
java期末考试复习题1. Java基础- 1.1 简述Java语言的特点。
- 1.2 描述Java程序的基本结构。
- 1.3 列举Java的基本数据类型及其取值范围。
- 1.4 解释变量的作用域和生命周期。
- 1.5 说明Java中的运算符及其优先级。
2. 面向对象编程- 2.1 定义什么是类和对象。
- 2.2 描述类的封装、继承和多态性。
- 2.3 举例说明如何使用继承来扩展类的功能。
- 2.4 讨论接口和抽象类的区别。
- 2.5 说明如何实现类的多态性。
3. 异常处理- 3.1 描述Java异常处理机制的基本组成部分。
- 3.2 列举常见的Java异常类型。
- 3.3 说明如何自定义异常。
- 3.4 讨论try-catch-finally语句的用法。
- 3.5 简述异常链的概念及其应用。
4. 集合框架- 4.1 描述Java集合框架的基本组成。
- 4.2 比较List、Set和Map的区别和用途。
- 4.3 说明迭代器和增强for循环的使用。
- 4.4 讨论如何使用泛型来提高代码的复用性。
- 4.5 列举并解释常用的集合类及其方法。
5. 多线程编程- 5.1 解释线程的生命周期和状态。
- 5.2 描述如何创建和管理线程。
- 5.3 讨论线程同步的必要性和实现方法。
- 5.4 说明死锁的概念及其避免策略。
- 5.5 列举并解释Java中线程池的工作原理。
6. 输入输出流- 6.1 描述Java I/O流的分类和层次结构。
- 6.2 说明字节流和字符流的区别。
- 6.3 讨论如何使用缓冲流来提高I/O效率。
- 6.4 列举常用的文件I/O类及其方法。
- 6.5 说明对象序列化和反序列化的基本概念。
7. 网络编程- 7.1 描述Java网络编程的基本概念。
- 7.2 说明如何使用套接字(Socket)进行网络通信。
- 7.3 讨论URL和URLConnection的用法。
- 7.4 列举并解释多路复用器Selector的使用。
java面向对象程序设计期末考试题及答案
![java面向对象程序设计期末考试题及答案](https://img.taocdn.com/s3/m/f6142a4d4a73f242336c1eb91a37f111f1850d9f.png)
java面向对象程序设计期末考试题及答案一、单项选择题(每题2分,共20分)1. 在Java中,哪个关键字用于声明一个类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. All of the above答案:D3. 在Java中,哪个关键字用于创建对象?A. newB. createC. makeD. instantiate答案:A4. Java中的继承是通过哪个关键字实现的?A. extendsB. inheritC. deriveD. superclass答案:A5. 在Java中,哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. abstract答案:A6. 下列哪个不是Java中的方法重载的条件?A. 方法名相同B. 参数列表不同C. 返回值类型不同D. 访问修饰符不同答案:C7. 在Java中,哪个关键字用于声明一个抽象方法?A. abstractB. virtualC. overrideD. final答案:A8. Java中的多态性可以通过哪种方式实现?A. 方法重载B. 方法覆盖C. 接口实现D. 继承答案:B9. 在Java中,哪个关键字用于声明一个内部类?A. innerB. nestedC. staticD. inner class答案:B10. Java中的垃圾回收机制是自动的吗?A. YesB. NoC. SometimesD. Depends on the JVM答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承另一个类的______方法和属性。
答案:非私有2. Java中的______关键字用于声明一个类是不可被继承的。
答案:final3. 在Java中,______关键字用于声明一个类是抽象的。
面向对象程序设计(JAVA)期末考试试卷(A卷)
![面向对象程序设计(JAVA)期末考试试卷(A卷)](https://img.taocdn.com/s3/m/f423b5fbe518964bce847c7d.png)
8。若子类对父类中得同名同参方法进行重新定义,我们称子类___________了父类得同名方法.
9.Java中用类创建一个对象包括对象得声明与为对象____________两个步骤。
D。不影响,系统可以自己区分
4.在异常处理中,如释放资源、关闭文件、关闭数据库等由哪个子句来完成【】
A.try子句B.catch子句C.finally子句D.throw子句
5.下面哪个流类属于面向字符得输入流【】
A.BufferedWriterB。C.ObjectInputStreamD。InputStreamReader
ﻩStringd ="Javaprogram、”;
ﻩvoid show(){
super、show();
ﻩSystem、out、println("ClassB:a=” + a + "\td=" + d);
ﻩ}
publicstatic void main(String args[]){ Ab=new B();b、show();}
int m=list、get(k);
System、out、printf(”%3d”,m);
}
}
}
程序得输出结果就是:
4.classSpeak{
ﻩpublicvoidhello(){
System、out、println("Hello!");
}
}பைடு நூலகம்
public class test{
ﻩpublicstatic void main(Stringargs[]){
面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案
![面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案](https://img.taocdn.com/s3/m/0aaa055ebf23482fb4daa58da0116c175f0e1e26.png)
面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案2一、单选择题(每小题2分,共10分)1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. 。
java B。
.classC. .html D。
exe2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是(A ).A. 3 B。
3. 5C。
4 D. 53、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作.A. start( )B. stop( )C。
init() D. paint()4、不允许作为类及类成员的访问控制符的是( C )。
A。
public B. privateC。
static D. protected5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。
A。
static void method() B。
public void method( )C. final void method( )D。
abstract void method()二、填空题(每空格1分,共20分)1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。
2、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet、类的子类并且存储该源程序文件的文件名为MyApplet .3、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器javac。
exe 编译该源程序文件将产生 3 个文件名与类名相同而扩展名为 . class 的字节码文件.4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。
面向对象程序设计(JAVA)期末考试试卷(A卷)
![面向对象程序设计(JAVA)期末考试试卷(A卷)](https://img.taocdn.com/s3/m/a93f2a9b960590c69ec3763c.png)
5.import
java.io.* ; public class Reverse { public static void main(String args[ ]) { int i , n =10 ,sum=0; int a[ ] = new int[10]; for ( i = 0 ; i < n ; i ++ ) try { BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数 } catch ( IOException e ) { } ; for ( i = n-1 ; i >= 0 ; i ―― ) sum=sum+I; System.out.print(sum); } } 程序的功能是:
} 程序的输出结果为:__
_
2. abstract class A{
abstract void show(); abstract void show(int i); } Class B extends A{ int x; void show(){ System.out.print("x="+x++); } void show(int i){ x=++i; System.out.println("x="+x++); } } Class AbstractDemo{ public static void main(String[] args) {B b=new B(); b.show(); b.show(10); } } 程序的输出结果是:
JAVA面向对象程序设计(期末考试试题及答案)
![JAVA面向对象程序设计(期末考试试题及答案)](https://img.taocdn.com/s3/m/aabc0df85ff7ba0d4a7302768e9951e79b896916.png)
程序设计(期末考试试题及答案)JAVA面向对象面向对象程序设计一、单选择题1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A.javaB..classC.htmlD..exe2、不允许作为类及类成员的访问控制符的是(C)。
A.publicB.privateC.staticD.Protected3、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。
A.3B.3.5C.4D.54、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A.static void method()B.public void method()C.final void method()D.abstract void method()5、下列属于容器的组件有:(B)A.JButton B.JPaneC.Canvas D.JTextArea6、v oid的含义:(C)A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值 D.方法的返回值不能参加算术运算7、关于Java中异常的叙述正确的是:(D)A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的8、下面哪个不是java语言中的关键字?(B)A.longB.sizeofC.instanceofD.Const9、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener10、以下有关类的继承的叙述中,正确的是:(D)A子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性二、填空题1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。
JAVAoop期末考试试题加答案
![JAVAoop期末考试试题加答案](https://img.taocdn.com/s3/m/db38a4dced3a87c24028915f804d2b160b4e86de.png)
JAVAoop期末考试试题加答案### JAVA面向对象编程期末考试试题及答案#### 一、选择题(每题2分,共20分)1. 在Java中,哪个关键字用于定义类?- A. class- B. public- C. static- D. void答案:A2. 下列哪个是Java的访问修饰符?- A. final- B. abstract- C. protected- D. native答案:C3. 以下哪个是Java中合法的类名?- A. 2Class- B. Class$- C. MyClass- D. class答案:C4. 以下哪个是Java中合法的方法名? - A. 123Start- B. start!- C. start- D. $start答案:C5. 以下哪个是Java中合法的变量名? - A. 2variable- B. variable!- C. variable- D. $variable答案:C6. Java中,哪个关键字用于实现接口? - A. class- B. implements- C. extends- D. abstract答案:B7. Java中,哪个关键字用于继承类? - A. class- B. extends- C. implements- D. abstract答案:B8. 下列哪个是Java集合框架中的接口?- A. ArrayList- B. List- C. LinkedList- D. HashMap答案:B9. Java中,哪个关键字用于定义抽象类?- A. class- B. abstract- C. final- D. static答案:B10. 下列哪个是Java集合框架中的具体实现类?- A. Set- B. List- C. ArrayList- D. Map答案:C#### 二、简答题(每题10分,共30分)1. 解释Java中封装的概念,并给出一个封装的类的例子。
国家开放大学《Java语言与面向对象程序设计基础》期末试题复习题及答案
![国家开放大学《Java语言与面向对象程序设计基础》期末试题复习题及答案](https://img.taocdn.com/s3/m/4e9b91ed02768e9950e73830.png)
《Java语言与面向对象程序设计基础》期末模拟题答案在后面一、填空题1.编译Java程序需要使用___ ___命令。
2.Java中的程序代码都必须在一个类中定义,类使用____ __关键字来定义。
3.若int []a={12,45,34,46,23}; ,则a[2]= __ ____。
4.面向对象的三大特征是___ ___、__ ____和__ ____。
5.定义在类中的变量被称为__ ,定义在方法中的变量被称为__ _ _。
6.异常的捕获通常由try、catch两部分组成,__ ____代码块用来存放可能发生异常,___ ___代码块用来处理产生的异常。
7.若x = 2,则表达式 ( x + + )/3 的值是___ ___。
8.面向对象程序设计的重点是__ ____的设计,___ ___是用来创建对象的模板。
9.JDK中定义了大量的异常类,这些类都是__ ____类的子类或者间接子类。
10.在Java语言中,允许使用已存在的类作为基础创建新的类,这种技术我们称为______。
11.Java的三大体系分别是____ __、______、___ __。
12.Java中的变量可分为两种数据类型,分别是___ _和__ _。
13.在非静态成员方法中,可以使用关键字____访问类的其它非静态成员。
14.在程序开发中,要想将一个包中的类导入到当前程序中,可以使用______关键字。
15. System类中所提供的属性和方法都是的,想要引用这些属性和方法,直接使用System类调用即可。
16.在Java语言中,要想是将一个已编译的类打包成jar文件,可以使用的命令是_ ,要想在命令行窗口运行jar文件,可以使用的命令是__ ____。
二、选择题1.下面哪种类型的文件可以在Java虚拟机中运行?A、.javaB、.jreC、.exeD、.class2. 以下关于变量的说法错误的是?A、变量名必须是一个有效的标识符B、变量在定义时可以没有初始值C、变量一旦被定义,在程序中的任何位置都可以被访问D、在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明3. 请先阅读下面的代码。
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案2
![《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案2](https://img.taocdn.com/s3/m/ee61b6d479563c1ec4da71bd.png)
《面向对象程序设计J A V A语言程序设计》期末考试试题及部分答案2------------------------------------------作者------------------------------------------日期年~ 年上学期 《面向对象程序设计♉☺♋❖♋》期末考试试题一、选择题(每道题只有一个正确答案,每小题 分,共 分) 道题、关于☺♋❖♋语言叙述错误的是:( )✍✍ ✌.☺♋❖♋语言具有跨平台性✍✍ .☺♋❖♋是一种面向对象的语言✍✍ .☺♋❖♋语言中的类可以多继承✍✍ .☺♋❖♋的垃圾收集机制自动回收程序已不再使用的对象、以下叙述正确的是:( )的确台♋✍✍ ✌.构造方法必须是☐◆♌●♓♍方法✍✍ .❍♋♓⏹方法必须是☐◆♌●♓♍方法✍✍ .☺♋❖♋应用程序的文件名可以是任意的✍✍ .构造方法应该声明为❖☐♓♎类型、关于☺♋❖♋中数据类型叙述正确的是:( )✍✍ ✌、整型数据在不同平台下长度不同✍✍ .♌☐☐●♏♋⏹类型数据只有 个值,♦❒◆♏和♐♋●♦♏✍✍ .数组属于简单数据类型✍✍ .☺♋❖♋中的指针类型和 语言的一样、设 ♓⏹♦ ⌧♐●☐♋♦ ⍓,则表达式 ⌧ ⍓的值是:( ) ✌....以上都不是、以下语句有语法错的是:( ✌ )✌.♓⏹♦ ⌧;⍓; .♐☐❒ ☎♓⏹♦ ⌧⍓;⌧;⌧✆.♦♒♓●♏ ☎⌧✆.♐☐❒☎ ✆、关于类和对象的叙述正确的是:( ✌ )✍✍ ✌.☺♋❖♋的类分为两大部分:系统定义的类和用户自定义的类✍✍ .类的静态属性和全局变量的概念完全一样,只是表达形式不同✍✍ .类的成员至少有一个属性和一个方法✍✍ .类是对象的实例化、以下有关构造方法的说法,正确的是:( ✌ )✌.一个类的构造方法可以有多个.构造方法在类定义时被调用.构造方法只能由对象中的其它方法调用.构造方法可以和类同名,也可以和类名不同、以下有关类的继承的叙述中,正确的是:( )✌.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 .子类只能继承父类的方法,不能继承父类的属性.子类只能继承父类的非私有属性,不能继承父类的方法.子类不能继承父类的私有属性、下列属于容器的组件有:( )✌.☺ ◆♦♦☐⏹.☺ ♋⏹♏. ♋⏹❖♋♦.☺❆♏⌧♦✌❒♏♋、❖☐♓♎ 的含义:( )✌.方法体为空.定义的方法没有形参.定义的方法没有返回值.方法的返回值不能参加算术运算、关于☺♋❖♋中异常的叙述正确的是:( )✌.异常是程序编写过程中代码的语法错误.异常是程序编写过程中代码的逻辑错误.异常出现后程序的运行马上中止.异常是可以捕获和处理的、所有的异常类皆继承哪一个类?( )✌. ♋❖♋♓☐☜⌧♍♏☐♦♓☐⏹. ♋❖♋●♋⏹♑❆♒❒☐♦♋♌●♏. ♋❖♋●♋⏹♑☜⌧♍♏☐♦♓☐⏹. ♋❖♋●♋⏹♑☜❒❒☐❒、下面哪个不是 ♋❖♋语言中的关键字?( )✌.●☐⏹♑.♦♓♏☐♐.♓⏹♦♦♋⏹♍♏☐♐.♍☐⏹♦♦、为实现进程之间的通信,需要使用下列那种流才合适?( )✌. ♋♦♋ ♦♦❒♏♋❍.☞♓●♏ ♦♦❒♏♋❍. ◆♐♐♏❒♏♎ ♦♦❒♏♋❍. ♓☐♏♎ ♦♦❒♏♋❍、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?( )✌.✌♍♦♓☐⏹☹♓♦♦♏⏹♏❒. ☐◆♦♏☹♓♦♦♏⏹♏❒. ☐◆♦♏☐♦♓☐⏹☹♓♦♦♏❒⏹.✋♦♏❍☹♓♦♦♏⏹♏❒二、填空题(每空 分,共 分)、面向对象程序设计所具有的基本特征是:♉♉♉抽象性♉♉♉,♉封装性♉♉♉,♉继承性♉♉,♉多态性♉♉、数组⌧定义如下♓⏹♦ ⌧☯ ☯ ⏹♏♦ ♓⏹♦☯☯则 ⌧●♏⏹♑♦♒ 的值为♉♉♉♉♉♉♉♉♉♉♉♉,⌧☯●♏⏹♑♦♒ 的值为♉♉♉♉♉♉♉♉♉♉♉♉。
面向对象技术Java期末复习试题(二)
![面向对象技术Java期末复习试题(二)](https://img.taocdn.com/s3/m/d1e29d2d5627a5e9856a561252d380eb62942390.png)
⾯向对象技术Java期末复习试题(⼆)期末复习试题(⼆)⼀、程序题1、编写程序创建Point类,要求如下:(1)double类型的数据域x和y分别表⽰点的坐标;(2)x、y的get和set⽅法;(3)⼀个⽆参构造⽅法;(4)⼀个创建点对象同时指定x和y坐标的有参的构造⽅法;(5)⼀个名为distance(Point p)的⽅法,返回从该点到指定点之间的距离;(6)⼀个名为distance(double x, double y)的⽅法,返回从该点到指定x和y坐标的指定点之间的距离。
解题要求:编写测试类,分别调⽤两个distance⽅法,计算:(1)点(2,3)到(10,30)之间的距离并显⽰;(2)点(4,5)到(20,50)之间的距离并显⽰。
2、下图是课程类Course的UML类图,说明如下:(1)成员变量包括课程名称(courseName)和选课学⽣(students),选课学⽣存放在ArrayList链表中。
(2)包括成员变量的set和get⽅法。
(3)⼀个输出课程信息的⽅法toString(),可以输出课程名称、选课学⽣名单和选课⼈数。
(4)⼀个添加学⽣的⽅法addStudent(String student)。
(5)⼀个查询选课学⽣数量的⽅法getNumberOfStduents()解题要求:编写测试类,创建课程对象,添加3个选课学⽣,按照如下提⽰输出课程信息。
3、下图描述了两个类:Line(线段)和Point(点),以及两个类之间的关联关系,⼀条线段对象由对应的两个点对象组成。
解题要求:要求如下:(1) 编写Line(线段)和Point(点)两个类的代码,注意满⾜封装的需求。
将数据隐藏,通过⽅法访问数据。
(2) 使⽤Line类的Line(x1: int, y1: int, x2: int, y2: int)⽅法,创建Line对象,端点是(10,20)、(30,40),计算并输出线段的长度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
期末复习试卷(三)一、单项选择题1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源文件名是()A.B. teststudent .classC.D.正确答案:C解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(public),该java文件的名字要与公共类的一致。
2、关于下面的代码,哪个描述是正确的public class Test{public static void main(String[] args){Integer n1 = new Integer(3);Object n2 = new Integer(4);}}A. 可以编译通过,可以运行,并得到预期结果。
B. 可以编译通过,可以运行,但不能得到预期结果。
C. 可以编译通过,但又运行错误。
D. 有编译错误。
正确答案:D解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer类,T 被替换为Integer,如下图:因此,Integer类中compareTo()方法的定义如下:因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer:正确写法如下:n2));类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。
3、下面哪种类型不是引用数据类型()A. 数组B. charC. StringD. Object正确答案:B解析:基本数据类型只是存放数据,不提供功能(即方法)包括4类八种:布尔类型:boolean字符类型:char整数类型:byte, short, int, long浮点类型:float,double引用数据类型包括类、接口、抽象类、数组(本质上是类),引用类型可以提供功能。
注意:String是一个类,所以可以使用String s = new String("bistu")的方式创建对象;数组也是一个类,所以需要用new创建对象。
4、类Test要定义一个无参数、无返回值的方法method,并能够通过()的方式调用method 方法,则method方法的定义形式为 ( )。
A. public static void method ( )B. public void method ( )C. public final void method ( )D. public abstract void method ( )正确答案:A解析:静态方法(也叫类方法)可以不创建对象,而直接通过类名调用。
5、下列关于接口说法正确的是 ( )。
A. 抽象类中的方法不全都是抽象的,因此可以创建对象。
B. 接口的引用既可以调用实现类重写的接口的方法,也可以调用实现类新增的方法。
C. 接口的实现类可以实现接口的部分方法。
D. 接口的方法都是抽象的,因此不可以创建对象。
正确答案:D解析:选项A的前半句是对的,后半句错了。
选项B前半句是对的,后半句不对。
示例如下:public interface GeometricObject{public double getArea();}public class Circle implements GeometricObject{public double getArea(){ .…. }public double getPerimeter(){ …… }}public TestCircle{public static void main(String[] args){GeometricObject c = new Circle();(); getPerimeter() 同一包中的类访问B. 其他包中的类访问C. 所有的类访问D. 所有的类的子类访问正确答案:A解析:注意本题可以继续扩展,例如把访问权限换成public/private/protected。
7、下列哪个是Java应用程序主类中正确的main方法声明 ( )A. public void main(String[] args)B. static void main(String[] ar)C. public static void Main(String a[])D. public static void main(String args[])正确答案:D8、有一段java应用程序,其中包含一个公共类,名字为Cat,那么保存它的源文件名是()A.B.C. CatD. 都对正确答案:A与第1个选择题类似。
9、下列哪个是JDK提供的编译器()A.B.C.D.正确答案:B10、某个源文件如下:public class TestPerson{}class Person{}class Student extends Person{}那么保存它的源文件名是()A.B.C.D.正确答案:A参考第1、8题。
11、以下定义一位数组的语句中,正确的是()A. int a[5];B. int a[] =new [5];C. int a[];int a = new int[5];D. int a[] = {1,2,3,4,5};正确答案:D选项A: java中的数组是类,需要使用new关键字创建。
选项B:落类型了,正确写法为 int a[] = new int[5];选项C:重复定义变量a,正确写法: int a[];a = new int[5];12、String类实现Comparable接口,覆盖其中的compareTo()方法。
下面哪个是正确的String类中被重写的compareTo()方法的方法头A. public int compareTo(String o)B. public void compareTo(String o)C. public int compareTo(Object o)D. public void compareTo(Object o)正确答案:A解析:Comparable接口的定义如下:接口的实现类必须覆盖在接口中定义的抽象的方法,覆盖就意味在实现类中的方法要与在接口中定义的抽象方法同名、同参、同返回值。
13、将类的某个成员方法的访问权限设置为protected的,则下面说法正确的是()。
A. 同一包中的其他类不可以访问该方法B. 不同包中的子类可以访问该方法C. 所有包中的类都可以访问该方法D. 所有包中的类都不可以访问该方法。
正确答案:B14、下列哪一个类声明是错误的( )A. class AB. public class AC. protected class AD. public abstract class A正确答案:C解析:类只能被默认或者public修饰符修饰,这是与成员变量和成员方法不一样的地方。
15、下面关于数组和集合的说法,哪一个是错误的()A. 数组的长度一旦确定,不能修改;B. 集合的长度可变,但是效率比数组低;C. 数组和集合都属于引用类型;D. 数组使用泛型指明所存储的对象的类型。
正确答案:D解析:ArrayList是集合的一种类型。
集合使用泛型指明所存储的对象的类型。
16、下面代码有错误的行是:________。
1: public class Review1307{2: public static void main(String[] args){3: Number x = new Integer(3);4:: Integer(4)));6: }7: }A. line 2B. line 3C. line 4D. line 5正确答案:D解析:(1)查JDK帮助文档,Number是Integer的父类,Number没有实现Comparable接口,而子类Integer实现了Comparable接口,即子类Integer新增了compareTo()方法。
(2)x的声明类型是Number,实际类型是Integer,根据父类引用不能调用子类新增的方法的原则,x不可以直接调用compareTo()方法。
(3)如果需要修改代码中的错误,可以进行强制类型转换,如下:Integer(4)));17、inta[] = {1,4,7,2,5,6,0},该数组第1个和最后1个元素的下标为哪一项( )A. 0,7B. 1,6C. 0,6D. 1,7正确答案:C18、假设arr是一个int类型的二维数组,下面关于arr的声明和初始化,哪一项是错误的( )A. int[][] arr = {{1,2},{3,4,5}};B. int[][] arr = new int[2][3];C. int[][] arr = new int[2][];D. int[][] arr = new int[][3];正确答案:D解析:Java的二维数组是由一维数组模拟的,示例如下:没有第一维,就不会有第二维,所以,创建数组的时候,不能只指明第二维,不指明第一维。
但可以仅指明第一维,不指明第二维,如选项C。
19、下面说法哪一个是错误的()A. 构造方法的名称与类名一样。
B. 构造方法返回值可以为void。
C. 一个类可以有多个构造方法。
D. 在一个类中可以使用this调用该类的其他构造方法。
正确答案:B解析:构造方法的作用是创建对象,因此,本质上,构造方法是有返回值的,其返回值就是它创建的对象。
但是,由于即使不指明构造方法的返回值,JDK也知道其返回值类型,因此,构造方法的返回值类型省略掉了。
但是绝对不能用void,void表示没有返回值。
20、下面关于接口的定义哪个是正确的A. interface A{void print() { };}B. abstract interface A extends I1,I2{abstract void print(){};}C. abstract interface A{print();}D. interface A{void print();}正确答案:D解析:(1)interface前面没有abstract修饰;(2)接口中的方法都是抽象的,因此不能有方法体,即{}。
21、下面关于多态的说法,正确的是()。
A. 一个类中不能有同名的方法;B. 子类中不能有和父类中同名的方法;C. 子类中可以有和父类中名字相同,且参数相同的方法;D. 多态性就是方法的名字和参数可以一样,但返回值的类型必须不一样。