练习题面向对象程序设计基础_第1页
练习题面向对象程序设计基础_第2页
练习题面向对象程序设计基础_第3页
练习题面向对象程序设计基础_第4页
练习题面向对象程序设计基础_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2 面向对象程序设计基础2.1 单项选择题1下面关于类的继承性的描述中,错误的是( )。A继承是在已有的基础上生成新类的一种方法BJava语言要求一个子类只有一个父类C父类中成员的访问权限在子类中将被改变D子类继承父类的所有成员,但不包括私有的成员方法2在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是( )。A默认 Bprotected Cprivate Dpublic3在类的修饰符中,规定只能被同一包类所使用的修饰符是( )。Apublic B默认 Cfinal Dabstract4下列关于子类继承父类的成员描述中,错误的是( )。A当子类中出

2、现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法。B方法重载是编译时处理的,而方法覆盖是在运行时处理的。C子类中继承父类中的所有成员都可以访问。D子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子类执行自己的操作中,使用自己定义的变量。5下列关于继承性的描述中,错误的是( )。A一个类可以同时生成多个子类B子类继承了父类中除私有的成员以外的其他成员CJava支持单重继承和多重继承DJava通过接口可使子类使用多个父类的成员6下列关于抽象类的描述中,错误的是( )。A抽象类是用修饰符abstract说明的 B抽象类是不可以定义对象的C抽象类是不可以

3、有构造方法的 D抽象类通常要有它的子类7下列关于构造方法的叙述中,错误的是( )。A构造方法名与类名必须相同 B构造方法没有返回值,且不用void声明C构造方法只能通过new自动调用 D构造方法不可以重载,但可以继承8下面叙述中,错误的是( )。A子类继承父类 B子类能替代父类 C父类包含子类 D父类不能替代子类9下面关于接口的描述中,错误的是( )。A一个类只允许继承一个接口 B定义接口使用的关键字是interfaceC在继承接口的类中通常要给出接口中定义的抽象方法的具体实现D接口实际上是由常量和抽象方法构成的特殊类10欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方

4、法是正确的?( )AArrayList myList=new Object(); BArrayList myList=new List();CList myList=new ArrayList(); DList myList=new List();11下列哪一个方法与方法public void add(int a)为不合理的重载方法?( )Apublic void add(char a) Bpublic int add(int a)Cpublic void add(int a,int b) Dpublic void add(float a)12MAX_LENGTH是int型public成员变量

5、,变量值保持为常量100,其定义是( )。Apublic int MAX_LENGTH=100; Bfinal public int MAX_LENGTH=100;Cpublic final int MAX_LENGTH=100; Dfinal int MAX_LENGTH=100;13下面关于封装性的描述中,错误的是( )。A封装体包含属性和行为 B被封装的某些信息在外不可见C封装提高了可重用性 D封装体中的属性和行为的访问权限相同14下面关于类方法的描述,错误的是( )。A说明类方法使用关键字static B类方法和实例方法一样均占用对象的内存空间C类方法能用实例和类名调用 D类方法只能处

6、理类变量或调用类方法15下面关于包的描述中,错误的是( )。A包是若干对象的集合 B使用package语句创建包C使用import语句引入包 D包分为有名包和无名包两种16下面哪一个代码段是错误的Java源程序?( )Aimport java.io.*; Bimport java.io.*; package testpackage; class Person/* do something. */ public class Test/* do something. */ public class Test/* do something. */ Cimport java.io.*; Dpackag

7、e testpackage; import java.awt.*; public class Test/* do something. */ public class Test/* do something. */17请问所有的异常类皆继承哪一个类?( )18哪个关键字可以抛出异常?( )Atransient Bthrow Cfinally Dcatch19对于已经被定义过可能抛出异常的语句,在编程时( )。A必须使用trycatch语句处理异常,或用throw将其抛出。B如果程序错误,必须使用 trycatch语句处理异常。C可以置之不理。D只能使用trycatch语句处理。20下面程序段的

8、执行结果是什么?( )public class Foo public static void main(String args) tryreturn; finallySystem.out.println("Finally"); A编译能通过,但运行时会出现一个例外。 B程序正常运行,并输出 "Finally"。C程序正常运行,但不输出任何结果。D因为没有catch语句块,所以不能通过编译。21如果下列的方法能够正常运行,在控制台上将不显示哪一个?( )public void example( ) try unsafe(); System.out.prin

9、tln("Test1"); catch(SafeException e) System.out.println("Test 2"); finallySystem.out.println("Test 3"); System.out.println("Test 4"); ATest 1B Test 2CTest 3D Test 422指出错误的表达式有( C )。Adouble a=2.0; BDouble a=new Double(2.0);Cbyte A= 350; Dint a = 120;23System类在哪

10、个包中?( )Ajava.awt Bjava.lang Cjava.util Djava.io24关于Float,下列说法错误的是( )。AFloat在java.lang包中 BFloat a=1.0是正确的赋值方法CFloat是一个类 DFloat a= new Float(1.0)是正确的赋值方法25. 以下关于继承的叙述正确的是( )。A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承26. 以下哪个不是Java的原始数据类型( )A、intB、BooleanC、floatD、ch

11、ar27. 以下哪项可能包含菜单条()。A、JPanelB、JFrameC、JTable D、JScrollPane28.若需要定义一个类域或类方法,应使用哪种修饰符?( )A、staticB、packageC、private D、public29.给出下面代码,关于该程序以下哪个说法是正确的?( )public class Person static int arr = new int5;public static void main(String a) System.out.println(arr0); A、编译时将产生错误B、编译时正确,运行时将产生错误C、输出零 D、输出空30.在使用

12、interface声明一个接口时,只可以使用( )修饰符修饰该接口。A、privateB、protectedC、private protectedD、public31. 类Parent、Child定义如下:1public class Parent2 public float aFun(float a, float b) throws3 IOException 45public class Child extends Parent67将以下哪种方法插入行6是不合法的。( )A、float aFun(float a, float b) B、public int aFun(int a, int b)

13、throws Exception C、public float aFun(float p, float q) D、public int aFun(int a, int b)throws IOException 32. 定义一个类,必须使用的关键字是( )A、publicB、classC、interfaceD、static33. 定义一个接口必须使用的关键字是( )A、public B、classC、interfaceD、static34. 下面说法错误的是( )。A) final 可修饰类、属性(变量)、方法。 B) abstract可修饰类、方法。C) 抽象方法只有方法头,没有方法体。 D)

14、 关键字final和abstract可以同时使用。35. 下面关于Java中异常处理try块的说法不正确的是( )?A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。 B) catch 块后可以有finally块,也可以没有。C)可能抛出异常的方法调用应放在try块中。 D)对抛出的异常的处理必须放在try块中36. 下面哪一个关键字不能用来控制对类成员的访问( )?A) public B) protected C) private D) default37. 类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中不正确的是( )。A) B x1= new

15、B( ); B) B x1= new C( ); C) C x1=new C( ); D) Object x1= new C( );38. 下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。A)内部类可以不能访问外部类的成员B)外部类可以直接访问内部类的成员C)外部类不能访问内部类的成员D)外部类可通过创建内部类的实例来访问内部类的成员39. 下列修饰符中与访问控制无关的是()Aprivate BpublicCprotectedDfinal40. void的含义:()A方法没有返回值 B 方法体为空C没有意义 D.定义方法时必须使用41.关于对象成员占用内存的说法哪个正确?()

16、A同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C对象的方法不占用内存D以上都不对42. 下列说法哪个正确?A不需要定义类,就能创建对象B对象中必须有属性和方法C属性可以是简单变量,也可以是一个对象D、属性必须是简单变量43. 关于接口哪个正确?()A、实现一个接口必须实现接口的所有方法B一个类只能实现一个接口C接口间不能有继承关系D接口和抽象类是同一回事44. 覆盖与重载的关系是()A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B覆盖方法可以不同名,而重载方法必须同名Cfinal修饰的方法可以被覆盖,但不能被重载D覆盖与重载是同一回

17、事45. 抽象方法:()A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法2.2 填空题1. 把对象实例化可以生成多个对象,使用_运算符为对象分配内存空间。2. java程序引入接口的概念,是为了弥补只允许类的_的缺憾。3. java语言以_为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。4. 抽象方法只能存在于抽象类中。抽象方法用关键字_来修饰。5. java语言中_是所有类的根。6. 在java中有一种叫做_特殊方法,在程序中用它来对类成员进行初始化。7. new是_对象的操作符.8. 继承主要强调子类在父类的基础上取”长”补”

18、短”,而_主要强调的是类与类之间的传输9. 我们在java程序中,把关键字_加到方法名称的前面,来实现子类调用父类的方法10. 定义一个类包括定义类头和定义_两个部分11. 在java程序里,同一类中重载的多个方法具有相同的方法名和_的参数列表.重载的方法可以有不同的返回值类型12. java是面向对象语言,对象是客观事物的_,对象与之是一一对应的,它是很具体的概念。13. java语言通过接口支持_继承,使类继承具有更灵活的扩展性14. 一个对象的生命周期包含三个阶段:生成, _ 和清除15. java语言中,调用方法时,参数传递是_调用,而不是地址调用16. 接口是一种只含有抽象方法或_的

19、一种特殊抽象类17. 创建一个类就是创建一个新的数据类型,而类在java中属于_数据类型。18. abstract方法_(不能或能)与final并列修饰同一个类19. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的_必须是不同的,这种现象称为方法的重载。20. _方法是不能被当前类的子类重新定义的方法。21. 创建一个名为 com.bean 的包的语句是_ _ 。该语句应该放在在程序第一句。22. 在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现_ 重继承关系。23. 异常处理是由_ 、catch和finally块三个关键所组成的程序

20、块。24. 构造方法是一种特殊的成员方法,构造方法名与_ 相同。2.3 判断题1. 类是一种类型,也是对象的模板。( )2. 类中说明的方法可以定义在类体外。( × )3. 实例方法中不能引用类变量。( × )4. 创建对象时系统将调用适当的构造方法给对象初始化。( )5. 使用运算符new创建对象时,赋给对象的值实际上是一个引用值。( )6. 对象可作方法参数,对象数组不能作方法参数。( × )7. class是定义类的惟一关键字。( )8. Java语言会自动回收内存中的垃圾。( )9. Java语言中,构造方法是不可以继承的。( )10. 抽象方法是一种只有

21、说明而无具体实现的方法。( )11. Java语言中,所创建的子类都应有一个父类。( )12. 调用this 或super构造方法的语句必须放在第一条语句。( )13. 一个类可以实现多个接口,接口可以实现“多重继承”。 ( )14. 实现接口的类不能是抽象类。( )15. 使用构造方法只能给实例成员变量赋初值。( )16. Java 语言不允许同时继承一个类并实现一个接口。( × )17. 使用try-catch-finally语句只能捕获一个异常。( × )18. try-catch语句不可以嵌套使用。( × )19. Error类所定义的异常是无法捕获的。(

22、 )20. 用户自定义异常类是通过继承Throwable类来创建的。( × )21. 构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。 (× )22. 在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 ( )23. 拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。 ( )24. Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。 (× )25. 静态初始化器是在其所属的类加载内存时由系统自动调用执行。 ( )26. 在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 (× )2.4 简答题1.什么是继承?2.请简述重载和重写的区别?2.5 参考答案2.5.1 单项选择题1.C 2.B 3.B 4.C 5.C 6.C 7.D 8.C 9.A 10.C 11.B 12.C 13.D 14.B 15.A 16.A 17.A 18.B 19.A 20.B 21.B 22.C 23.B 24.B 25.A 26.B 27.B 28.A 29.C 30.D31.A 32.B 33.C 34.D 35.D 36.D 37

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论