《2022年面向对象技术-期末复习试卷 .docx》由会员分享,可在线阅读,更多相关《2022年面向对象技术-期末复习试卷 .docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品_精品资料_期末复习试卷三一、 单项挑选题1、有一段 java 应用程序,其中包含一个公共类,名字为TestStudent,那么储存它的源文件名是A. teststudent.javaB. teststudent .classC. TestStudent.java正确答案: C解析:一个 java文件中可以包含多个类,但最多只能有一个类是公共类public, 该 java文件的名字要与公共类的一样.2、关于下面的代码,哪个描述是正确的? public class Testpublic static void mainString args Integer n1 = new Integer3
2、; Object n2 = new Integer4;System.out.printlnn1pareTon2;A. 可以编译通过,可以运行,并得到预期结果.B. 可以编译通过,可以运行,但不能得到预期结果.C. 可以编译通过,但又运行错误.D. 有编译错误.正确答案: D解析: Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,可编辑资料 - - - 欢迎下载精品_精品资料_因此, Integer类中 compareTo 方法的定义如下:供应了一些有用的方法 例如: 在 JavaFX 中读取文本框内容是String类型的, 假如要转换成 int类型,就要调用 Int
3、eger类的 parseInt方法并实现了 Comparable 接口, 在 Comparable 接口中定了抽象方法compareToT o, T是泛型,对于 Integer类, T 被替换为 Integer,如以下图:因此, compareTo 的参数只能是 Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为 Integer:System.out.printlnn1pareTon2;正确写法如下:System.out.printlnn1pareToInteger n2;类似的包装类仍有LongFloatDoubleCharBoolean等,都是
4、将基本数据类型包装为类.3、下面哪种类型不是引用数据类型?A. 数组B. charC. StringD. Object正确答案: B解析:基本数据类型只是存放数据,不供应功能即方法包括4 类八种: 布尔类型: boolean可编辑资料 - - - 欢迎下载精品_精品资料_字符类型: char整数类型: byte , short, int, long浮点类型: float, double引用数据类型包括类、接口、抽象类、数组本质上是类,引用类型可以供应功能.留意:String是一个类,所以可以使用String s = new Stringbistu的方式创建对象.数组也是一个类,所以需要用new
5、 创建对象.4、类 Test要定义一个无参数、无返回值的方法 method ,并能够通过 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. 接口的引用既可以调用实现类重写
6、的接口的方法,也可以调用实现类新增的方法.C. 接口的实现类可以实现接口的部分方法.D. 接口的方法都是抽象的,因此不行以创建对象.正确答案: D解析:选项 A 的前半句是对的,后半句错了.选项 B 前半句是对的,后半句不对.例如如下:可编辑资料 - - - 欢迎下载精品_精品资料_public interface GeometricObject publicdoublegetArea;public class Circle implements GeometricObject public double getArea. public double getPerimeterpublic Te
7、stCirclepublic static void mainString args GeometricObject c = new Circle;c.getArea;/ 拜访实现类掩盖接口的方法可以c. getPerimeter/ 错误:不行以拜访实现类新增的方法选项 C 错误,实现类必需实现接口的全部的抽象的方法.6、将类的成员方法的拜访权限设置为默认的,就该成员方法能被.A. 同一包中的类拜访B. 其他包中的类拜访C. 全部的类拜访D. 全部的类的子类拜访正确答案: A解析:留意此题可以连续扩展,例如把拜访权限换成public/private/protected.7、以下哪个是 Java
8、应用程序主类中正确的main 方法声明? A. public void mainString argsB. static void mainString arC. public static void MainString aD. public static void mainString args可编辑资料 - - - 欢迎下载精品_精品资料_正确答案: D8、有一段 java 应用程序,其中包含一个公共类,名字为Cat,那么储存它的源文件名是C. CatD. 都对正确答案: A与第 1 个挑选题类似.9、以下哪个是 JDK供应的编译器?正确答案: B10、某个源文件如下 :publiccl
9、assTestPersonclassPersonclassStudentextends Person那么储存它的源文件名是A. TestPerson.javaB. Person.javaC. Student.java正确答案: A参考第 1、8 题.11、以下定义一位数组的语句中,正确的选项是可编辑资料 - - - 欢迎下载精品_精品资料_A. int a5;B. int a =new 5;C. int a;int a = new int5;D. int a = 1,2,3,4,5;正确答案: D选项 A: java 中的数组是类,需要使用new 关键字创建.选项 B:落类型了,正确写法为in
10、t a = new int5;选项 C:重复定义变量 a,正确写法:int a;a = new int5;12、String 类实现 Comparable 接口,掩盖其中的compareTo方法.下面哪个是正确的String 类中被重写的 compareTo方法的方法头?A. public int compareToString oB. public void compareToString oC. public int compareToObject oD. public void compareToObject o正确答案: A解析: Comparable 接口的定义如下:接口的实现类必需
11、掩盖在接口中定义的抽象的方法,掩盖就意味在实现类中的方法要与在接口中定义的抽象方法同名、同参、同返回值.13、将类的某个成员方法的拜访权限设置为protected的,就下面说法正确的选项是.A. 同一包中的其他类不行以拜访该方法B. 不同包中的子类可以拜访该方法可编辑资料 - - - 欢迎下载精品_精品资料_C. 全部包中的类都可以拜访该方法D. 全部包中的类都不行以拜访该方法.正确答案: B14、以下哪一个类声明是错误的?A. class AB. public class AC. protected class AD. public abstract class A正确答案: C解析: 类只
12、能被默认或者public 修饰符修饰, 这是与成员变量和成员方法不一样的的方.15、下面关于数组和集合的说法,哪一个是错误的?A. 数组的长度一旦确定,不能修改.B. 集合的长度可变,但是效率比数组低.C. 数组和集合都属于引用类型.D. 数组使用泛型指明所储备的对象的类型.正确答案: D解析: ArrayList 是集合的一种类型.集合使用泛型指明所储备的对象的类型.16、下面代码有错误的行是: .1:public class Review13072:public static void mainString args 3:Number x = new Integer3;4:System.o
13、ut.printlnx.intValue;5:System.out.printlnxpareTonew Integer4; 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,依据父类引用不能调
14、用子类新增的方法的原就, x 不行以直接调用 compareTo方法.(3) 假如需要修改代码中的错误,可以进行强制类型转换,如下:System.out.println IntegerxpareTonew Integer4;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 int23;C. int arr
15、 = new int2;可编辑资料 - - - 欢迎下载精品_精品资料_D. int arr = new int3;正确答案: D解析: Java的二维数组是由一维数组模拟的,例如如下:没有第一维, 就不会有其次维, 所以, 创建数组的时候, 不能只指明其次维, 不指明第一维.但可以仅指明第一维,不指明其次维,如选项C.19、下面说法哪一个是错误的?A. 构造方法的名称与类名一样.B. 构造方法返回值可以为void.C. 一个类可以有多个构造方法.D. 在一个类中可以使用this 调用该类的其他构造方法.正确答案: B解析:构造方法的作用是创建对象,因此,本质上,构造方法是有返回值的,其返回值
16、就是它创建的对象.但是,由于即使不指明构造方法的返回值, JDK也知道其返回值类型,因此,构造方法的返回值类型省略掉了.但是肯定不能用 void,void 表示没有返回值.20、下面关于接口的定义哪个是正确的?A. interface Avoid print ;B. abstract interface A extends I1,I2 abstract void print;可编辑资料 - - - 欢迎下载精品_精品资料_C. abstract interface A print;D. interface A void print;正确答案: D解析:1interface 前面没有 abstr
17、act 修饰.2接口中的方法都是抽象的,因此不能有方法体,即.21、下面关于多态的说法,正确的选项是.A. 一个类中不能有同名的方法.B. 子类中不能有和父类中同名的方法.C. 子类中可以有和父类中名字相同,且参数相同的方法.D. 多态性就是方法的名字和参数可以一样,但返回值的类型必需不一样.正确答案: C22、用于定义类成员的拜访掌握权的一组关键字是A. class, float, double, publicB. float, boolean, int, longC. char, extends, float, doubleD. public, private, protected正确答案
18、: D23、下面关于接口的说法哪一条是错误的?A. 接口是一种特别的抽象类,接口的方法都是抽象方法.B. 类可以实现接口.可编辑资料 - - - 欢迎下载精品_精品资料_C. 接口和子接口可以有自己的实例对象.D. 可以使用接口声明引用,引用实现本接口或子接口的类的对象.正确答案: C解析: 接口中的方法都是抽象的,不能创建实例.类似的,抽象类也不行以创建实例.24、下面关于抽象类的说法,哪一条是错误的.A. 抽象类可以不包含抽象方法.B. 一个类只要有一个抽象方法,就是抽象类.C. 抽象类不能创建对象,创建对象的工作由抽象类的详细子类来实现.D. 对于抽象类中的抽象方法来说,在抽象类中既要指
19、定方法名和参数,又要指定实现代码.正确答案: D解析:抽象方法没有方法体,因此不行能有实现代码.25、Java源程序经过编译后得到的类文件的扩展名是哪一个项?A. javaB. exeC. classD. html正确答案: C26、Worker类是 Person 类的子类, Worker的构造方法中有一句super,该语句是.A. 调用 Person 类中定义的super方法B. 语法错误C. 调用 Person 类的构造方法D. 调用 Worker 类中定义的 super 方法可编辑资料 - - - 欢迎下载精品_精品资料_正确答案: C27、关于掩盖和重载,下面说法哪一个是错误的?A.
20、一个类中包含多个同名但参数不同的方法,这些方法构成了重载.B. 一般的成员方法可以重载,但构造方法不行以重载.C. 假如在子类中定义的方法与其父类的某个方法具有相同的名称、参数和返回值, 就称子类的方法掩盖了父类的方法.D. 当父类的方法不能满意子类的要求时,子类可掩盖父类的方法.当一种功能有多种实现时,可使用重载来供应多个同名不同参的方法.正确答案: B解析:构造方法也可以重载,即一个类可以有多个构造方法.28、下面的代码说明类A 和类 B 之间是什么关系?classAclassBextendsA A. 关联B. 继承C. 依靠D. 实现正确答案: B29、下面代码的错误显现在 .1:pub
21、lic class Review13082:public static void mainString args 3:Number x = new Integer3;4:System.out.printlnx.intValue;5:System.out.printlnIntegerxpareTonew Integer4; 6:7:可编辑资料 - - - 欢迎下载精品_精品资料_A. line 2B. line 3C. line 4D. line 5正确答案: D30、以下关于继承的概念,哪项表达是正确的?A. 在 java 中,答应一个类继承多个父类.B. 在 java 中,一个类只能实现一个
22、接口.C. 在 java 中,一个类不能同时继承一个类和实现一个接口.D. java 的单一继承使代码更牢靠.正确答案: D解析: Java采纳单继承,即只能有一个父类,但可以实现多个接口.二、 程序题1、GeometricObject是几何图形抽象类, Circle 类继承了 GeometricObject 类,同时实现了 Comparable<Circle>接 口 , 三 者 的 UML类 图 如 下 :提 示 :Comparable<T> 接口在 java.lang 包中已经定义,不需要自己写.解题要求:编写测试类,要求如下:1创建 Circle 类的对象 c1
23、和 c2,设定 c1 的半径为 5, c2 的半径为 6.2输出 c1 和 c2 的半径. c1 的周长和面积. 调用 c1 的 compareToCircle o 方法与 c2比较,输出比较结果.3将 c1 的半径改为 8,依据 2中的要求输出信息.4将 c1 的半径改为 6,依据 2中的要求输出信息.样例如下可编辑资料 - - - 欢迎下载精品_精品资料_package qiZhongKaoShi2;public class TestCircleComparable public static void mainString argsCircle c1 = new Circle5;Circ
24、le c2 = new Circle6;System.out.printlnc1的半径是 + c1.getR;System.out.printlnc2的半径是 + c2.getR;System.out.printlnc1的周长是 + c1.getPerimeter;System.out.printlnc1的面积是 + c1.getArea;if c1pareToc2=1 System.out.printlnc1比 c2 大;else if c1pareToc2=-1System.out.printlnc1比 c2 小;elseSystem.out.printlnc1与 c2 相等 ; Syst
25、em.out.println;c1 = new Circle8;System.out.printlnc1的半径是 + c1.getR;System.out.printlnc2的半径是 + c2.getR;System.out.printlnc1的周长是 + c1.getPerimeter;System.out.printlnc1的面积是 + c1.getArea;if c1pareToc2=1 System.out.printlnc1比 c2 大;else if c1pareToc2=-1可编辑资料 - - - 欢迎下载精品_精品资料_System.out.printlnc1比 c2 小;el
26、seSystem.out.printlnc1与 c2 相等 ;System.out.println;c1 = new Circle6;System.out.printlnc1的半径是 + c1.getR;System.out.printlnc2的半径是 + c2.getR;System.out.printlnc1的周长是 + c1.getPerimeter;System.out.printlnc1的面积是 + c1.getArea;if c1pareToc2=1 System.out.printlnc1比 c2 大;else if c1pareToc2=-1System.out.println
27、c1比 c2 小;elseSystem.out.printlnc1与 c2 相等 ;abstract class GeometricObject public abstract double getArea;public abstract double getPerimeter;class Circleextends GeometricObject implements Comparable private double r;public Circle可编辑资料 - - - 欢迎下载精品_精品资料_public Circledouble r this.r = r;public double getR return r;public void setRdouble r this.r = r;Overridepublic double getArea return Math.PI * r * r;Overridepublic double getPerimeter return 2 * Math.PI * r;Overridepublic int compareToCircle o if r o.getRreturn 1;else if r o.getR return -1;else可编辑资料 - - - 欢迎下载精品_精品资料_return 0;可编辑资料 - - - 欢迎下载
限制150内