2Java第二单元练习题-面向对象程序设计基础.docx
-
资源ID:26599241
资源大小:19.52KB
全文页数:21页
- 资源格式: DOCX
下载积分:30金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2Java第二单元练习题-面向对象程序设计基础.docx
2Java第二单元练习题-面向对象程序设计基础 2面向对象程序设计基础 2.1单项选择题 1下面关于类的继承性的描述中,错误的是()。 A继承是在已有的基础上生成新类的一种方法 BJava语言要求一个子类只有一个父类 C父类中成员的访问权限在子类中将被改变 D子类继承父类的所有成员,但不包括私有的成员方法 2在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是()。 A默认Bprotected Cprivate Dpublic 3在类的修饰符中,规定只能被同一包类所使用的修饰符是()。 Apublic B默认Cfinal Dabstract 4下列关于子类继承父类的成员描述中,错误的是()。 A当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法。 B方法重载是编译时处理的,而方法覆盖是在运行时处理的。 C子类中继承父类中的所有成员都可以访问。 D子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子类执行自己的操作中,使用自己定义的变量。 5下列关于继承性的描述中,错误的是()。 A一个类可以同时生成多个子类B子类继承了父类中除私有的成员以外的其他成员CJava支持单重继承和多重继承DJava通过接口可使子类使用多个父类的成员 6下列关于抽象类的描述中,错误的是()。 A抽象类是用修饰符abstract说明的 B抽象类是不可以定义对象的 C抽象类是不可以有构造方法的D抽象类通常要有它的子类 7下列关于构造方法的叙述中,错误的是()。 A构造方法名与类名必须相同B构造方法没有返回值,且不用void声明 C构造方法只能通过new自动调用D构造方法不可以重载,但可以继承 8下面叙述中,错误的是()。 A子类继承父类B子类能替代父类C父类包含子类D父类不能替代子类 9下面关于接口的描述中,错误的是()。 A一个类只允许继承一个接口B定义接口使用的关键字是interface C在继承接口的类中通常要给出接口中定义的抽象方法的具体实现 D接口实际上是由常量和抽象方法构成的特殊类 10欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?()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成员变量,变量值保持为常量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类方法只能处理类变量或调用类方法 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.*; Dpackage testpackage; import java.awt.*; public class Test/* do something. */ public class Test/* do something. */ 17请问所有的异常类皆继承哪一个类?() A ng.Throwable B ng.Exception C ng.Error Djava.io.Exception 18哪个关键字可以抛出异常?() Atransient Bthrow Cfinally Dcatch 19对于已经被定义过可能抛出异常的语句,在编程时()。 A必须使用trycatch语句处理异常,或用throw将其抛出。 B如果程序错误,必须使用trycatch语句处理异常。 C可以置之不理。 D只能使用trycatch语句处理。 20下面程序段的执行结果是什么?() public class Foo public static void main(String args) try return; finallySystem.out.println("Finally"); A编译能通过,但运行时会出现一个例外。B程序正常运行,并输出"Finally"。C程序正常运行,但不输出任何结果。D因为没有catch语句块,所以不能通过编译。 21如果下列的方法能够正常运行,在控制台上将不显示哪一个?()public void example( ) try unsafe(); System.out.println("Test1"); catch(SafeException e) System.out.println("Test 2"); finallySystem.out.println("Test 3"); System.out.println("Test 4"); ATest 1 BTest 2 CTest 3 DTest 4 22指出错误的表达式有( C )。 Adouble a=2.0; BDouble a=new Double(2.0); Cbyte A= 350; Dint a = 120; 23System类在哪个包中?() Ajava.awt B ng Cjava.util Djava.io 24关于Float,下列说法错误的是()。 AFloat在 ng包中BFloat a=1.0是正确的赋值方法 CFloat是一个类DFloat a= new Float(1.0)是正确的赋值方法 25. 以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 26.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 27.以下哪项可能包含菜单条()。 A、JPanel B、JFrame C、JTable D、JScrollPane 28.若需要定义一个类域或类方法,应使用哪种修饰符?() A、static B、package C、private D、public 29.给出下面代码,关于该程序以下哪个说法是正确的?() public class Person static int arr = new int5; public static void main(String a) System.out.println(arr0); A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空 30.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。 A、private B、protected C、private protected D、public 31. 类Parent、Child定义如下: 1public class Parent 2 public float aFun(float a, float b) throws 3IOException 4 5public class Child extends Parent 6 7 将以下哪种方法插入行6是不合法的。() A、float aFun(float a, float b) B、public int aFun(int a, int b)throws Exception C、public float aFun(float p, float q) D、public int aFun(int a, int b)throws IOException 32. 定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 33. 定义一个接口必须使用的关键字是() A、public B、class C、interface D、static 34.下面说法错误的是()。 A) final 可修饰类、属性(变量)、方法。 B) abstract可修饰类、方法。 C) 抽象方法只有方法头,没有方法体。 D) 关键字final和abstract可以同时使用。 35.下面关于Java中异常处理try块的说法不正确的是( )? A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。 B) catch 块后可以有finally块,也可以没有。 C)可能抛出异常的方法调用应放在try块中。 D)对抛出的异常的处理必须放在try块中 36.下面哪一个关键字不能用来控制对类成员的访问( )? A) public B) protected C) private D) default 37.类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中不正确的是( )。 A) B x1= new B( ); B) B x1= new C( ); C) C x1=new C( ); D) Object x1= new C( ); 38. 下面关于外部类和内部类成员的相互访问的规则中,正确的选项是( )。 A)内部类可以不能访问外部类的成员 B)外部类可以直接访问内部类的成员 C)外部类不能访问内部类的成员 D)外部类可通过创建内部类的实例来访问内部类的成员 39.下列修饰符中与访问控制无关的是() Aprivate Bpublic Cprotected Dfinal 40.void的含义:() A方法没有返回值B方法体为空 C没有意义 D.定义方法时必须使用 41.关于对象成员占用内存的说法哪个正确?() A同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C对象的方法不占用内存 D以上都不对 42.下列说法哪个正确? A不需要定义类,就能创建对象 B对象中必须有属性和方法 C属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量 43.关于接口哪个正确?() A、实现一个接口必须实现接口的所有方法 B一个类只能实现一个接口 C接口间不能有继承关系 D接口和抽象类是同一回事 44.覆盖与重载的关系是() A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B覆盖方法可以不同名,而重载方法必须同名 Cfinal修饰的方法可以被覆盖,但不能被重载 D覆盖与重载是同一回事 45.抽象方法:() A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法 D、抽象类中的方法都是抽象方法 2.2填空题 1.把对象实例化可以生成多个对象,使用_运算符为对象分配内存空间。 2.java程序引入接口的概念,是为了弥补只允许类的_的缺憾。 3.java语言以_为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽 象的概念。 4.抽象方法只能存在于抽象类中。抽象方法用关键字_来修饰。 5.java语言中_是所有类的根。 6.在java中有一种叫做_特殊方法,在程序中用它来对类成员进行初始化。 7.new是_对象的操作符. 8.继承主要强调子类在父类的基础上取”长”补”短”,而_主要强调的是类与类之 间的传输 9.我们在java程序中,把关键字_加到方法名称的前面,来实现子类调用父类的方法 10.定义一个类包括定义类头和定义_两个部分 11.在java程序里,同一类中重载的多个方法具有相同的方法名和_的参数列表.重载的 方法可以有不同的返回值类型 12.java是面向对象语言,对象是客观事物的_,对象与之是一一对应的,它是很具体的 概念。 13.java语言通过接口支持_继承,使类继承具有更灵活的扩展性 14.一个对象的生命周期包含三个阶段:生成, _ 和清除 15.java语言中,调用方法时,参数传递是_调用,而不是地址调用 16.接口是一种只含有抽象方法或_的一种特殊抽象类 17.创建一个类就是创建一个新的数据类型,而类在java中属于_数据类型。 18.abstract方法_(不能或能)与final并列修饰同一个类 19.如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法 的_必须是不同的,这种现象称为方法的重载。 20._方法是不能被当前类的子类重新定义的方法。 21.创建一个名为com.bean 的包的语句是_ _ 。该语句应该放在 在程序第一句。 22.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实 现_ 重继承关系。 23.异常处理是由_ 、catch和finally块三个关键所组成的程序块。 24.构造方法是一种特殊的成员方法,构造方法名与_ 相同。 2.3判断题 1.类是一种类型,也是对象的模板。() 2.类中说明的方法可以定义在类体外。(×) 3.实例方法中不能引用类变量。(×) 4.创建对象时系统将调用适当的构造方法给对象初始化。() 5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。() 6.对象可作方法参数,对象数组不能作方法参数。(×) 7.class是定义类的惟一关键字。() 8.Java语言会自动回收内存中的垃圾。() 9.Java语言中,构造方法是不可以继承的。() 10.抽象方法是一种只有说明而无具体实现的方法。() 11.Java语言中,所创建的子类都应有一个父类。() 12.调用this 或super构造方法的语句必须放在第一条语句。() 13.一个类可以实现多个接口,接口可以实现“多重继承”。() 14.实现接口的类不能是抽象类。() 15.使用构造方法只能给实例成员变量赋初值。() 16.Java 语言不允许同时继承一个类并实现一个接口。(×) 17.使用try-catch-finally语句只能捕获一个异常。(×) 18.try-catch语句不可以嵌套使用。(×) 19.Error类所定义的异常是无法捕获的。() 20.用户自定义异常类是通过继承Throwable类来创建的。(×) 21.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×) 22.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若cat ch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。 () 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.D 31.A 32.B 33.C 34.D 35.D 36.D 37.A 38.D 39.D 40.A 41.B 42.C 43.A 44.A 45.C 2.5.2填空题 1. new 2. 单继承 3. 类 4. abstract 5. Object 6. 构造函数 7. 创建 8. 多态性 9. super 10.类体 11.不同的 12.实体 13.多重 14.使用 15.值 16.常量 17.不能 18.复合 19.参数个数 20.final 21.package com.bean 22.多 23. try 24.类名 2.5.3判断题 1. 2.× 3.× 4. 5. 6.× 7. 8. 9.10. 11.12.13.14.15. 16.×17.×18.×19.20.× 21.×22.×23.24.×25.26.× 2.5.4简答题 1.什么是继承? 答:通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。 2.请简述重载和重写的区别? 答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。 重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。 如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 (资料素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)