《面向对象技术Java期末复习试卷三.docx》由会员分享,可在线阅读,更多相关《面向对象技术Java期末复习试卷三.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、期末复习试卷三一、 单项选择题1、有一段应用程序,其中包含一个公共类,名字为,那么保存它的源文件名是 A. B. C. D. 正确答案:C 解析:一个文件中可以包含多个类,但最多只能有一个类是公共类,该文件的名字要及公共类的一致。2、关于下面的代码,哪个描述是正确的? ( ) n1 = (3); n2 = (4); (n1(n2); A. 可以编译通过,可以运行,并得到预期结果。 B. 可以编译通过,可以运行,但不能得到预期结果。 C. 可以编译通过,但又运行错误。 D. 有编译错误。 正确答案:D 解析:类是根本数据类型的包装类,里面封装了一个类型的值,提供了一些实用的方法例如:在中读取文本
2、框内容是类型的,如果要转换成类型,就要调用类的()方法并实现了接口,在接口中定了抽象方法(T o), T是泛型,对于类,T被替换为,如以下图: 因此,类中()方法的定义如下:因此,的参数只能是类型的,所以代码中的下面语句中的n2的类型需要进展强制类型转换,由转为:(n1(n2);正确写法如下: (n1() n2); 类似的包装类还有等,都是将根本数据类型包装为类。3、下面哪种类型不是引用数据类型? A. 数组 B. C. D. 正确答案:B 解析:根本数据类型只是存放数据,不提供功能即方法包括4类八种: 布尔类型: 字符类型: 整数类型:, , , 浮点类型:,引用数据类型包括类、接口、抽象类
3、、数组本质上是类,引用类型可以提供功能。注意:是一个类,所以可以使用 s = ()的方式创立对象;数组也是一个类,所以需要用创立对象。4、类要定义一个无参数、无返回值的方法,并能够通过()的方式调用方法,那么方法的定义形式为 ( )。 A. ( ) B. ( ) C. ( ) D. ( ) 正确答案:A 解析:静态方法也叫类方法可以不创立对象,而直接通过类名调用。5、以下关于接口说法正确的选项是 ( )。 A. 抽象类中的方法不全都是抽象的,因此可以创立对象。 B. 接口的引用既可以调用实现类重写的接口的方法,也可以调用实现类新增的方法。 C. 接口的实现类可以实现接口的局部方法。 D. 接口
4、的方法都是抽象的,因此不可以创立对象。 正确答案:D 解析:选项A的前半句是对的,后半句错了。选项B前半句是对的,后半句不对。例如如下: (); () . () ( ) c = ();(); 访问实现类覆盖接口的方法可以c. () 错误:不可以访问实现类新增的方法 选项C错误,实现类必须实现接口的所有的抽象的方法。6、将类的成员方法的访问权限设置为默认的,那么该成员方法能被( )。 A. 同一包中的类访问 B. 其他包中的类访问 C. 所有的类访问 D. 所有的类的子类访问 正确答案:A 解析:注意此题可以继续扩展,例如把访问权限换成。7、以下哪个是应用程序主类中正确的方法声明? ( ) A.
5、 ( ) B. ( ) C. ( a) D. ( ) 正确答案:D 8、有一段应用程序,其中包含一个公共类,名字为,那么保存它的源文件名是 A. B. C. D. 都对 正确答案:A 及第1个选择题类似。9、以下哪个是提供的编译器? A. B. C. D. 正确答案:B 10、某个源文件如下 那么保存它的源文件名是 A. B. C. D. 正确答案:A 参考第1、8题。11、以下定义一位数组的语句中,正确的选项是 A. a5; B. a 5; C. a; a = 5; D. a = 1,2,3,4,5; 正确答案:D 选项A: 中的数组是类,需要使用关键字创立。选项B:落类型了,正确写法为 a
6、 = 5;选项C:重复定义变量a,正确写法: a; a = 5;12、类实现接口,覆盖其中的()方法。下面哪个是正确的类中被重写的()方法的方法头? A. ( o) B. ( o) C. ( o) D. ( o) 正确答案:A 解析:接口的定义如下:接口的实现类必须覆盖在接口中定义的抽象的方法,覆盖就意味在实现类中的方法要及在接口中定义的抽象方法同名、同参、同返回值。13、将类的某个成员方法的访问权限设置为的,那么下面说法正确的选项是 。 A. 同一包中的其他类不可以访问该方法 B. 不同包中的子类可以访问该方法 C. 所有包中的类都可以访问该方法 D. 所有包中的类都不可以访问该方法。 正确
7、答案:B 14、以下哪一个类声明是错误的?( ) A. A B. A C. A D. A 正确答案:C 解析:类只能被默认或者修饰符修饰,这是及成员变量和成员方法不一样的地方。15、下面关于数组和集合的说法,哪一个是错误的? A. 数组的长度一旦确定,不能修改; B. 集合的长度可变,但是效率比数组低; C. 数组和集合都属于引用类型; D. 数组使用泛型指明所存储的对象的类型。 正确答案:D 解析:是集合的一种类型。集合使用泛型指明所存储的对象的类型。16、下面代码有错误的行是:。1: 13072: ( )3: x = (3);4: ();5: ( (4);6: 7: A. 2 B. 3 C
8、. 4 D. 5 正确答案:D 解析:(1) 查帮助文档,是的父类,没有实现接口,而子类实现了接口,即子类新增了()方法。(2) x的声明类型是,实际类型是,根据父类引用不能调用子类新增的方法的原那么,x不可以直接调用()方法。(3) 如果需要修改代码中的错误,可以进展强制类型转换,如下:()x)( (4);17、 = 1,4,7,2,5,6,0,该数组第1个和最后1个元素的下标为哪一项? ( ) A. 0,7 B. 1,6 C. 0,6 D. 1,7 正确答案:C 18、假设是一个类型的二维数组,下面关于的声明和初始化,哪一项为哪一项错误的?( ) A. = 1,2,3,4,5; B. =
9、23; C. = 2; D. = 3; 正确答案:D 解析:的二维数组是由一维数组模拟的,例如如下: 没有第一维,就不会有第二维,所以,创立数组的时候,不能只指明第二维,不指明第一维。但可以仅指明第一维,不指明第二维,如选项C。19、下面说法哪一个是错误的? A. 构造方法的名称及类名一样。 B. 构造方法返回值可以为。 C. 一个类可以有多个构造方法。 D. 在一个类中可以使用调用该类的其他构造方法。 正确答案:B 解析:构造方法的作用是创立对象,因此,本质上,构造方法是有返回值的,其返回值就是它创立的对象。但是,由于即使不指明构造方法的返回值,也知道其返回值类型,因此,构造方法的返回值类型
10、省略掉了。但是绝对不能用,表示没有返回值。20、下面关于接口的定义哪个是正确的? A. A () ; B. A I12 (); C. A (); D. A (); 正确答案:D 解析:1前面没有修饰; 2接口中的方法都是抽象的,因此不能有方法体,即。21、下面关于多态的说法,正确的选项是 。 A. 一个类中不能有同名的方法; B. 子类中不能有和父类中同名的方法; C. 子类中可以有和父类中名字一样,且参数一样的方法; D. 多态性就是方法的名字和参数可以一样,但返回值的类型必须不一样。 正确答案:C 22、用于定义类成员的访问控制权的一组关键字是 A. , , , B. , , , C. ,
11、 , , D. , , 正确答案:D 23、下面关于接口的说法哪一条是错误的? A. 接口是一种特殊的抽象类,接口的方法都是抽象方法; B. 类可以实现接口; C. 接口和子接口可以有自己的实例对象; D. 可以使用接口声明引用,引用实现本接口或子接口的类的对象。 正确答案:C 解析:接口中的方法都是抽象的,不能创立实例;类似的,抽象类也不可以创立实例。24、下面关于抽象类的说法,哪一条是错误的 A. 抽象类可以不包含抽象方法; B. 一个类只要有一个抽象方法,就是抽象类; C. 抽象类不能创立对象,创立对象的工作由抽象类的具体子类来实现; D. 对于抽象类中的抽象方法来说,在抽象类中既要指定
12、方法名和参数,又要指定实现代码。 正确答案:D 解析:抽象方法没有方法体,因此不可能有实现代码。25、源程序经过编译后得到的类文件的扩展名是哪一个项? A. B. C. D. 正确答案:C 26、类是类的子类,的构造方法中有一句(),该语句是 。 A. 调用类中定义的()方法 B. 语法错误 C. 调用类的构造方法 D. 调用类中定义的()方法 正确答案:C 27、关于覆盖和重载,下面说法哪一个是错误的? A. 一个类中包含多个同名但参数不同的方法,这些方法构成了重载。 B. 普通的成员方法可以重载,但构造方法不可以重载。 C. 如果在子类中定义的方法及其父类的某个方法具有一样的名称、参数和返
13、回值,那么称子类的方法覆盖了父类的方法。 D. 当父类的方法不能满足子类的要求时,子类可覆盖父类的方法;当一种功能有多种实现时,可使用重载来提供多个同名不同参的方法。 正确答案:B 解析:构造方法也可以重载,即一个类可以有多个构造方法。28、下面的代码说明类A和类B之间是什么关系? A B A A. 关联 B. 继承 C. 依赖 D. 实现 正确答案:B 29、下面代码的错误出现在。1: 13082: ( )3: x = (3);4: ();5: ()( (4);6: 7: A. 2 B. 3 C. 4 D. 5 正确答案:D 30、以下关于继承的概念,哪项表达是正确的? A. 在中,允许一个
14、类继承多个父类; B. 在中,一个类只能实现一个接口; C. 在中,一个类不能同时继承一个类和实现一个接口; D. 的单一继承使代码更可靠。 正确答案:D 解析:采用单继承,即只能有一个父类,但可以实现多个接口。二、 程序题1、是几何图形抽象类,类继承了类,同时实现了;接口,三者的类图如下: 提示:;接口在包中已经定义,不需要自己写。解题要求:编写测试类,要求如下:1创立类的对象c1和c2,设定c1的半径为5,c2的半径为6。2输出c1和c2的半径;c1的周长和面积;调用c1的( o) 方法及c2比拟,输出比拟结果。3将c1的半径改为8,按照2中的要求输出信息。4将c1的半径改为6,按照2中的
15、要求输出信息。样例如下 2; ( ) c1 = (5); c2 = (6);(c1的半径是 + c1();(c2的半径是 + c2();(c1的周长是 + c1();(c1的面积是 + c1(); (c1(c2)1)(c1比c2大); (c1(c2)1)(c1比c2小); (c1及c2相等);();c1 = (8);(c1的半径是 + c1();(c2的半径是 + c2();(c1的周长是 + c1();(c1的面积是 + c1(); (c1(c2)1)(c1比c2大); (c1(c2)1)(c1比c2小); (c1及c2相等);();c1 = (6);(c1的半径是 + c1();(c2的半径是 + c2();(c1的周长是 + c1();(c1的面积是 + c1(); (c1(c2)1)(c1比c2大); (c1(c2)1)(c1比c2小); (c1及c2相等); (); (); r; () ( r) = r; () r; ( r) = r; () * r * r; () 2 * * r; ( o) (r () 1; ( r () ) -1; 0;
限制150内