1、编号:LNJD-PR08-RE32班 级学 号姓 名 装 使用班级:14341 科目: Java编程基础 试卷类别:ABC 题号一二三四五六七八总分得分阅卷人 订 请考生注意:这份试题共 三 道大题,满分为 60 分。考试时间: 90 分钟,考试形式:开卷闭卷 考试形式为选择题、简答题和编程题,其中选择题有一个或多个答案,全部选对才得分。 一、 选择题:(选择一项或多项)本大题共20小题,每题1分,共20分(将答案写入表格中,否则无成绩!)1234567891011011201、在Java语言中,下列关于类的继承的描述,正确的是( )。(选一项)A.一个类可以继承多个父类B.一个类可以具有多个
2、子类C.子类可以使用父类的所有方法D.子类一定比父类有更多的成员方法2、下面( )不是Java的访问修饰符关键字. (选择一项)A privateB friendC protectedD public3、给定如下的Java代码,下列( )方法可以加入到Child类中,并且能够保证编译正确. (选择一项)class Basepublic void method( ) class Child extends BaseA. public void method(String s ) B. public int method( )return 1;C. private void method( )D.
3、 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 Bookfloat priceRate=0.05;那么其成员属性priceRate的默认修饰符是( )。(
4、选择一项)A publicB staticC finalD void6、同一包中的子类可以访问父类中带( )访问修饰符的成员?(选择二项)A publicB protectedC firendD private7、给定如下Java代码,下列( )方法可以加入到Sample类中,并且能够编译正确。(选择二项)public class Samplepublic int getSomething(int d)Return d;A. private int getSomething(int i ,String s)B. public void getSomething(int i )C. privat
5、e int getSomething(byte b) return b; D. private int getSomething() return 2;8、给定如下Java代码,编译运行后,结果将是( )。(选择一项)public class Sampleprivate 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.o
6、ut.println(s.getX();A. 发生编译期错误,编译器提示:出现重复的方法SampleB. 发生编译期错误,编译器提示:未定义构造方法Sample(double)C. 正常运行,输出结果:5.2D. 正常运行,输出结果:59、构成方法重写的要素不包括( ). (选择二项)A 方法名称相同B 返回类型不同C 参数列表相同D 在同一个类中10、以下( )修饰符用于声明一个类变量,且该变量的值在运行期始终保持不变。(选择一项)A staticB finalC static finalD final static11、在java中,下列接口或类不包括在java.sql包中的是( )(选择
7、一项)AArrayListBConnectionCStatementDDriverManager12、给定如下Java代码,关于super的用法,以下描述正确的是( )(选择一项)class C extends Bpublic C()super(); A. 用来调用类B中定义的super()方法B. 用来调用类C中定义的super()方法C. 用来调用类B的无参构造方法D. 用来调用类B中第一个出现的构造方法13、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项( )中的语句能正确调用Test类的change()方法。(选择一项)class Testpublic
8、 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 Maptestpublic static void main(
9、String args)List pList=new ArrayList();pList.add(“A”); /5pList.add(“A”); /6for(int i=0;ipList.size();i+) /7String str=pList.get(i);/8System.out.println(str);A.5 B. 6 C. 7 D.815、给定如下Java代码,编译运行时将输出( )(选择一项)class Basestatic int i=1;public void amethod()System.out.println(“Base.amethod()”);Base() ameth
10、od(); public class Descend extends Basepublic 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() -1Descend.amethod()B Descend.amethod() 1 Descend.amethod()C 1Descend.amethod()D Base.amethod
11、() 1Descend.amethod()16、在java中,以下( )类的对象以键-值的方式存储对象.(选择一项)A java.uitl.ListB java.util.ArrayListC java.util.HashMapD java.util.LinkedList17、给定java代码如下所示,在A处所填写类( )方法,是对cal方法的重载(选择二项) public class Testpublic void cal (int x , int z)/AA public int cal(int x , int y , float z)return z;B public int cal (
12、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 AC interface AAA extends AD interface AAA imprlement A19、下列选项中关于Java中super关键字的说法正确的是( ).(选一项)A. supet关键字是在子类对象内部指代其父类
13、对象的引用B. supet关键字不仅可以指代子类的直接父类,还可以指代父类的父类C. 子类通过supet关键字只能调用父类的方法,而不能调用父类的属性D. 子类通过supet关键字只能调用父类的属性,而不能调用父类的方法20、在Java中,下面对子类XX的描述正确的是( ).(选一项)A. 类XX必须定义构造函数B. 构造函数的返回类型是VoidC. 构造函数和类有相同的名称,并且不需指定任何参数D. 一个类可以定义多个构造函数二、简答题:本大题共2小题,每题10分,共20分1. 简述什么是方法重写?2. 简述String类与StringBuffer类的区别?三、编程题:本大题共1小题,每题2
14、0分,共20分1 假设有一个飞机类Airplane,它有14个引擎,请自行为它设计一个内部引擎类Engine,它有一个引擎类型的属性type,其值可能为喷气引擎(whiff)或螺旋桨引擎(airscrew),并定义初始化两个对象喷气式飞机(jet)和螺旋桨飞机(PDAirplane)。构造方法和引擎数目可以自行确定。(代码书写要注意遵守Java代码规范) 线 内 不 要 核分人审核人 答 题 第 1 页 共 4 页 第2页 共 4 页编号:LNJD-PR08-RE32 班 级 学 号 姓 名 第3页 共 4 页 第4页 共 4 页 编号:LNJD-PR08-RE33班 级学 号姓 名 装 使用
15、班级: 14341 科目: Java编程基础 试卷类别:ABC 答案及评分标准 订 注:这份试题共 三 道大题,满分为 60 分。考试时间:90 分钟考试形式:开卷闭卷。评分标准在解题步骤中注明。考试形式为选择题、简答题和编程题,其中选择题有一个或多个答案,全部选对才得分。一、选择题:(选择一项或多项)本大题共20小题,每题1分,共20分1、在Java语言中,下列关于类的继承的描述,正确的是( B )。(选一项)A.一个类可以继承多个父类B.一个类可以具有多个子类C.子类可以使用父类的所有方法D.子类一定比父类有更多的成员方法2、下面( B )不是Java的访问修饰符关键字. (选择一项)E
16、privateF friendG protectedH public3、给定如下的Java代码,下列( A )方法可以加入到Child类中,并且能够保证编译正确. (选择一项)class Basepublic void method( ) class Child extends BaseE. 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
17、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 Bookfloat priceRate=0.05;那么其成员属性priceRate的默认修饰符是()。(选择一项)E publicF staticG finalH void6、同一包中的子类可以访问父类中带( AB )访问修饰符的
18、成员?(选择二项)E publicF protectedG firendH private7、给定如下Java代码,下列( CD )方法可以加入到Sample类中,并且能够编译正确。(选择二项)public class Samplepublic 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 getSo
19、mething() return 2;8、给定如下Java代码,编译运行后,结果将是( B )。(选择一项)public class Sampleprivate 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. 发生编译期错误,编译器提示:出现重复的方法SampleF. 发生
20、编译期错误,编译器提示:未定义构造方法Sample(double)G. 正常运行,输出结果:5.2H. 正常运行,输出结果:59、构成方法重写的要素不包括( BD ). (选择二项)A 方法名称相同B 返回类型不同C 参数列表相同D 在同一个类中10、以下( D )修饰符用于声明一个类变量,且该变量的值在运行期始终保持不变。(选择一项)A staticB finalC static finalD final static11、在java中,下列接口或类不包括在java.sql包中的是( A )(选择一项)AArrayListBConnectionCStatementDDriverManager
21、12、给定如下Java代码,关于super的用法,以下描述正确的是( C )(选择一项)class C extends Bpublic C()super(); E. 用来调用类B中定义的super()方法F. 用来调用类C中定义的super()方法G. 用来调用类B的无参构造方法H. 用来调用类B中第一个出现的构造方法13、在Java中,类Test的代码如下所示,假设类Test的实例化对象名为t,则选项( B )中的语句能正确调用Test类的change()方法。(选择一项)class Testpublic int change()System.out.println(“NO paramete
22、rs”);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 Maptestpublic static void main(String args)List pList=new ArrayList();pLi
23、st.add(“A”); /5pList.add(“A”); /6for(int i=0;ipList.size();i+) /7String str=pList.get(i);/8System.out.println(str);A.5 B. 6 C. 7 D.815、给定如下Java代码,编译运行时将输出( B )(选择一项)class Basestatic int i=1;public void amethod()System.out.println(“Base.amethod()”);Base() amethod(); public class Descend extends Basep
24、ublic 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() -1Descend.amethod()F Descend.amethod() 1 Descend.amethod()G 1Descend.amethod()H Base.amethod() 1Descend.amethod()16、在java中,以下( C )类的
25、对象以键-值的方式存储对象.(选择一项)E java.uitl.ListF java.util.ArrayListG java.util.HashMapH java.util.LinkedList17、给定java代码如下所示,在A处所填写类( AB )方法,是对cal方法的重载(选择二项) public class Testpublic void cal (int x , int z)/AE public int cal(int x , int y , float z)return z;F public int cal (int x,int y ,int z )return x;G publ
26、ic 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 AG interface AAA extends AH interface AAA imprlement A19、下列选项中关于Java中super关键字的说法正确的是( A ).(选一项)E. supet关键字是在子类对象内部指代其父类对象的引用F. supet关键字不仅可以指代子类的直接父类,还
27、可以指代父类的父类G. 子类通过supet关键字只能调用父类的方法,而不能调用父类的属性H. 子类通过supet关键字只能调用父类的属性,而不能调用父类的方法20、在Java中,下面对子类XX的描述正确的是( D ).(选一项)E. 类XX必须定义构造函数F. 构造函数的返回类型是VoidG. 构造函数和类有相同的名称,并且不需指定任何参数H. 一个类可以定义多个构造函数12345678910110BBACAABCDBBDD1120ACBDBCABBAD二、简答题:本大题共2小题,每题10分,共20分1. 简述什么是方法重写?(10分)方法重写是指:i. 在有继承关系的父子类之间(3分)ii.
28、 存在同名的方法(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
29、()、insert()等方法3) 原理的区别:(2分)StringBuffer是缓冲类,处理效率高;String类不是三、编程题:本大题共1小题,每题20分,共20分2 假设有一个飞机类Airplane,它有14个引擎,请自行为它设计一个内部引擎类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()