收藏 分销(赏)

Java语言程序设计(第3版)期末考试卷带答案2.doc

上传人:快乐****生活 文档编号:3242944 上传时间:2024-06-26 格式:DOC 页数:8 大小:169.59KB 下载积分:6 金币
下载 相关 举报
Java语言程序设计(第3版)期末考试卷带答案2.doc_第1页
第1页 / 共8页
Java语言程序设计(第3版)期末考试卷带答案2.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
编号:LNJD-PR08-RE32 班 级 学 号 姓 名 装 使用班级:14341 科目: Java编程基础 试卷类别:A□BþC□ 题号 一 二 三 四 五 六 七 八 总分 得分 阅卷人 订 请考生注意:这份试题共 三 道大题,满分为 60 分。 考试时间: 90 分钟,考试形式:开卷□闭卷þ 考试形式为选择题、简答题和编程题,其中选择题有一个或多个答案,全部选对才得分。 一、 选择题:(选择一项或多项)本大题共20小题,每题1分,共20分 (将答案写入表格中,否则无成绩!) 1 2 3 4 5 6 7 8 9 10 1~10 11~20 1、在Java语言中,下列关于类的继承的描述,正确的是( )。(选一项) A.一个类可以继承多个父类 B.一个类可以具有多个子类 C.子类可以使用父类的所有方法 D.子类一定比父类有更多的成员方法 2、下面( )不是Java的访问修饰符关键字. (选择一项) A. private B. friend C. protected D. public 3、给定如下的Java代码,下列( )方法可以加入到Child类中,并且能够保证编译正确. (选择一项) class Base{ public void method( ){ } } class Child extends Base{ } A. public void method(String s ){ } B. public int method( ){return 1;} C. private void method( ){} D. public void method(Integer i); 4、关于对下面语句 protected void show(int x,int y){……} 下面(   )语句是它的在子类中的重写?(选择一项) A. protected int show(int x,int y){……} B. protected void show(int x,int y, int z){……} C. public void show(int x,int y){……} D. void show(int x,int y){……} 5、假设有下面的接口定义 interface Book{ float priceRate=0.05; } 那么其成员属性priceRate的默认修饰符是(   )。(选择一项) A. public B. static C. final D. void 6、同一包中的子类可以访问父类中带( )访问修饰符的成员?(选择二项) A. public B. protected C. firend D. private 7、给定如下Java代码,下列( )方法可以加入到Sample类中,并且能够编译正确。(选择二项) public class Sample{ public int getSomething(int d){ Return d; } } A. private int getSomething(int i ,String s){} B. public void getSomething(int i ){} C. private int getSomething(byte b){ return b; } D. private int getSomething(){ return 2;} 8、给定如下Java代码,编译运行后,结果将是( )。(选择一项) public class Sample{ private int x; public Sample(){ x=1; } public void Sample(double f ){ this.x=(int )f; } Public int getX(){ return x; } public static void main(String [] args){ Sample s=new Sample(5.2); System.out.println(s.getX()); } } A. 发生编译期错误,编译器提示:出现重复的方法Sample B. 发生编译期错误,编译器提示:未定义构造方法Sample(double) C. 正常运行,输出结果:5.2 D. 正常运行,输出结果:5 9、构成方法重写的要素不包括( ). (选择二项) A. 方法名称相同 B. 返回类型不同 C. 参数列表相同 D. 在同一个类中 10、以下( )修饰符用于声明一个类变量,且该变量的值在运行期始终保持不变。(选择一项) A. static B. final C. static final D. final static 11、在java中,下列接口或类不包括在java.sql包中的是( )(选择一项) A.ArrayList B.Connection C.Statement D.DriverManager 12、给定如下Java代码,关于super的用法,以下描述正确的是( )(选择一项) class C extends B{ public C(){ super(); } } A. 用来调用类B中定义的super()方法 B. 用来调用类C中定义的super()方法 C. 用来调用类B的无参构造方法 D. 用来调用类B中第一个出现的构造方法 13、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项( )中的语句能正确调用Test类的change()方法。(选择一项) class Test{ public int change(){ System.out.println(“NO parameters”); return 0; } public void change(double m){ System.out.println(“parameter is:”+m); } } A. Test.change(15.2f) B.Test.change(); B. t.change(250.5); D. int a=t.change(13); 14、给定如下Java代码,其中第( )行代码有错误。(选择一项) import java.util.*; public class Maptest{ public static void main(String [] args){ List pList=new ArrayList(); pList.add(“A”); //5 pList.add(“A”); //6 for(int i=0;i<pList.size();i++){ //7 String str=pList.get(i); //8 System.out.println(str); } } } A.5 B. 6 C. 7 D.8 15、给定如下Java代码,编译运行时将输出( )(选择一项) class Base{ static int i=1; public void amethod(){ System.out.println(“Base.amethod()”); } Base(){ amethod(); } } public class Descend extends Base{ public static void main(String [] args){ Base b=new Descend(); System.out.println(i); b.amethod(); } public void amethod(){ System.out.println(“Descend.amethod()”); } } A. Base.amethod() -1 Descend.amethod() B. Descend.amethod() 1 Descend.amethod() C. 1 Descend.amethod() D. Base.amethod() 1 Descend.amethod() 16、在java中,以下( )类的对象以键-值的方式存储对象.(选择一项) A. java.uitl.List B. java.util.ArrayList C. java.util.HashMap D. java.util.LinkedList 17、给定java代码如下所示,在A处所填写类( )方法,是对cal方法的重载(选择二项) public class Test { public void cal (int x , int z){} //A } A. public int cal(int x , int y , float z){return z;} B. public int cal (int x,int y ,int z ){return x;} C. public void cal(int x,int z){} D. public void cal (int z,int y , int x) 18、在java中,已经定义接口A,以下语句正确的是( ). (选择一项) A. class AAA extends A () B. class AAA implements A{} C. interface AAA extends A{} D. interface AAA imprlement A{} 19、下列选项中关于Java中super关键字的说法正确的是( ).(选一项) A. supet关键字是在子类对象内部指代其父类对象的引用 B. supet关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C. 子类通过supet关键字只能调用父类的方法,而不能调用父类的属性 D. 子类通过supet关键字只能调用父类的属性,而不能调用父类的方法 20、在Java中,下面对子类XX的描述正确的是( ).(选一项) A. 类XX必须定义构造函数 B. 构造函数的返回类型是Void C. 构造函数和类有相同的名称,并且不需指定任何参数 D. 一个类可以定义多个构造函数 二、简答题:本大题共2小题,每题10分,共20分 1. 简述什么是方法重写? 2. 简述String类与StringBuffer类的区别? 三、编程题:本大题共1小题,每题20分,共20分 1. 假设有一个飞机类Airplane,它有1—4个引擎,请自行为它设计一个内部引擎类Engine,它有一个引擎类型的属性type,其值可能为喷气引擎(whiff)或螺旋桨引擎(airscrew),并定义初始化两个对象喷气式飞机(jet)和螺旋桨飞机(PDAirplane)。 构造方法和引擎数目可以自行确定。 (代码书写要注意遵守Java代码规范) 线 内 不 要 核分人 审核人 答 题 第 1 页 共 4 页 第2页 共 4 页 编号:LNJD-PR08-RE32 班 级 学 号 姓 名 第3页 共 4 页 第4页 共 4 页 编号:LNJD-PR08-RE33 班 级 学 号 姓 名 装 使用班级: 14341 科目: Java编程基础 试卷类别:A□BþC□ 答案及评分标准 订 注:这份试题共 三 道大题,满分为 60 分。考试时间:90 分钟 考试形式:开卷□闭卷þ。评分标准在解题步骤中注明。 考试形式为选择题、简答题和编程题,其中选择题有一个或多个答案,全部选对才得分。 一、选择题:(选择一项或多项)本大题共20小题,每题1分,共20分 1、在Java语言中,下列关于类的继承的描述,正确的是( B )。(选一项) A.一个类可以继承多个父类 B.一个类可以具有多个子类 C.子类可以使用父类的所有方法 D.子类一定比父类有更多的成员方法 2、下面( B )不是Java的访问修饰符关键字. (选择一项) E. private F. friend G. protected H. public 3、给定如下的Java代码,下列( A )方法可以加入到Child类中,并且能够保证编译正确. (选择一项) class Base{ public void method( ){ } } class Child extends Base{ } E. public void method(String s ){ } F. public int method( ){return 1;} G. private void method( ){} H. public void method(Integer i); 4、关于对下面语句 protected void show(int x,int y){……} 下面( C )语句是它的在子类中的重写?(选择一项) E. protected int show(int x,int y){……} F. protected void show(int x,int y, int z){……} G. public void show(int x,int y){……} H. void show(int x,int y){……} 5、假设有下面的接口定义 interface Book{ float priceRate=0.05; } 那么其成员属性priceRate的默认修饰符是( A )。(选择一项) E. public F. static G. final H. void 6、同一包中的子类可以访问父类中带( AB )访问修饰符的成员?(选择二项) E. public F. protected G. firend H. private 7、给定如下Java代码,下列( CD )方法可以加入到Sample类中,并且能够编译正确。(选择二项) public class Sample{ public int getSomething(int d){ Return d; } } E. private int getSomething(int i ,String s){} F. public void getSomething(int i ){} G. private int getSomething(byte b){ return b; } H. private int getSomething(){ return 2;} 8、给定如下Java代码,编译运行后,结果将是( B )。(选择一项) public class Sample{ private int x; public Sample(){ x=1; } public void Sample(double f ){ this.x=(int )f; } Public int getX(){ return x; } public static void main(String [] args){ Sample s=new Sample(5.2); System.out.println(s.getX()); } } E. 发生编译期错误,编译器提示:出现重复的方法Sample F. 发生编译期错误,编译器提示:未定义构造方法Sample(double) G. 正常运行,输出结果:5.2 H. 正常运行,输出结果:5 9、构成方法重写的要素不包括( BD ). (选择二项) A. 方法名称相同 B. 返回类型不同 C. 参数列表相同 D. 在同一个类中 10、以下( D )修饰符用于声明一个类变量,且该变量的值在运行期始终保持不变。(选择一项) A. static B. final C. static final D. final static 11、在java中,下列接口或类不包括在java.sql包中的是( A )(选择一项) A.ArrayList B.Connection C.Statement D.DriverManager 12、给定如下Java代码,关于super的用法,以下描述正确的是( C )(选择一项) class C extends B{ public C(){ super(); } } E. 用来调用类B中定义的super()方法 F. 用来调用类C中定义的super()方法 G. 用来调用类B的无参构造方法 H. 用来调用类B中第一个出现的构造方法 13、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项( B )中的语句能正确调用Test类的change()方法。(选择一项) class Test{ public int change(){ System.out.println(“NO parameters”); return 0; } public void change(double m){ System.out.println(“parameter is:”+m); } } C. Test.change(15.2f) B.Test.change(); D. t.change(250.5); D. int a=t.change(13); 14、给定如下Java代码,其中第( D )行代码有错误。(选择一项) import java.util.*; public class Maptest{ public static void main(String [] args){ List pList=new ArrayList(); pList.add(“A”); //5 pList.add(“A”); //6 for(int i=0;i<pList.size();i++){ //7 String str=pList.get(i); //8 System.out.println(str); } } } A.5 B. 6 C. 7 D.8 15、给定如下Java代码,编译运行时将输出( B )(选择一项) class Base{ static int i=1; public void amethod(){ System.out.println(“Base.amethod()”); } Base(){ amethod(); } } public class Descend extends Base{ public static void main(String [] args){ Base b=new Descend(); System.out.println(i); b.amethod(); } public void amethod(){ System.out.println(“Descend.amethod()”); } } E. Base.amethod() -1 Descend.amethod() F. Descend.amethod() 1 Descend.amethod() G. 1 Descend.amethod() H. Base.amethod() 1 Descend.amethod() 16、在java中,以下( C )类的对象以键-值的方式存储对象.(选择一项) E. java.uitl.List F. java.util.ArrayList G. java.util.HashMap H. java.util.LinkedList 17、给定java代码如下所示,在A处所填写类( AB )方法,是对cal方法的重载(选择二项) public class Test { public void cal (int x , int z){} //A } E. public int cal(int x , int y , float z){return z;} F. public int cal (int x,int y ,int z ){return x;} G. public void cal(int x,int z){} H. public void cal (int z,int y , int x) 18、在java中,已经定义接口A,以下语句正确的是( B ). (选择一项) E. class AAA extends A () F. class AAA implements A{} G. interface AAA extends A{} H. interface AAA imprlement A{} 19、下列选项中关于Java中super关键字的说法正确的是( A ).(选一项) E. supet关键字是在子类对象内部指代其父类对象的引用 F. supet关键字不仅可以指代子类的直接父类,还可以指代父类的父类 G. 子类通过supet关键字只能调用父类的方法,而不能调用父类的属性 H. 子类通过supet关键字只能调用父类的属性,而不能调用父类的方法 20、在Java中,下面对子类XX的描述正确的是( D ).(选一项) E. 类XX必须定义构造函数 F. 构造函数的返回类型是Void G. 构造函数和类有相同的名称,并且不需指定任何参数 H. 一个类可以定义多个构造函数 1 2 3 4 5 6 7 8 9 10 1~10 B B A C A AB CD B BD D 11~20 A C B D B C AB B A D 二、简答题:本大题共2小题,每题10分,共20分 1. 简述什么是方法重写?(10分) 方法重写是指: i. 在有继承关系的父子类之间(3分) ii. 存在同名的方法(3分) iii. 子类方法的功能会覆盖父类同名方法的功能(4分) iv. 附加分:子类方法的访问修饰等级至少不应低于父类方法的访问修饰等级(+2分) 3. 简述String类与StringBuffer类的区别?(10分) 1) 创建对象时的区别:(4分) String类的书写格式可以是:String s=””; StringBuffer类的书写格式必须是:StringBuffer sb=new StringBuffer(“”); 2) 调用方法的区别:(4分) String类是不变字符串(immutable),不具有改变值的能力; StringBuffer类多了capacity()、append()、insert()等方法 3) 原理的区别:(2分) StringBuffer是缓冲类,处理效率高; String类不是 三、编程题:本大题共1小题,每题20分,共20分 2. 假设有一个飞机类Airplane,它有1—4个引擎,请自行为它设计一个内部引擎类Engine,它有一个引擎类型的属性type,其值可能为喷气引擎(whiff)或螺旋桨引擎(airscrew),并定义初始化两个对象喷气式飞机(jet)和螺旋桨飞机(PDAirplane)。 构造方法和引擎数目可以自行确定。 class Test { public static void main(String[] args) { AirPlane jet=new AirPlane("WHIFF",2); //完成对象初始化2分 jet.showInfo();//完成方法调用2分 AirPlane pdAirplane=new AirPlane("AIRSCREW",4); //完成对象初始化2分 pdAirplane.showInfo()
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服