当前位置:文档之家› 面向对象基础复习资料

面向对象基础复习资料

一、选择题(每题2分*10题,20%)1.下列( D )中类声明是正确的。

A. abstract final class HI{···}B. abstract private move(){···}C. protected private number;D. public abstract class Car{···}2.在Java中,用Package语句说明一个包时,该包的层次结构必须是( B )。

A.与文件的结构相同B.与文件目录的层次相同C.与文件类型相同D.与文件大小相同3.在Java中,能实现多重继承效果的方式是( C )。

A.内部类B.适配器C.接口D.同步4.一个类中有公共的double型成员变量PI,该值保持为常数3.14,则定义这个成员变量的语句是( D )。

A.public double PI=3.14;B.final double PI=3.14;C.public const double PI=3.14;D.public final double PI=3.14;5. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序的特性称为( C )。

A.隐藏 B.覆盖C.重载 D.Java不支持此特性6.关于对象成员占用内存的说法中( B )是正确的。

A.同一个类的对象共用同一段内存B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对7.以下说法正确的是( C )。

A.抽象方法可以有方法体B.抽象方法可以出现在非抽象类中C.抽象方法是没有方法体的方法D.抽象类中的方法都是抽象方法8.关于继承的说法正确的是( B )。

A.子类将继承父类所有的属性和方法。

B.子类将继承父类的非私有属性和方法。

C.子类只继承父类public方法和属性D.子类只继承父类的方法,而不继承属性9.关于构造函数的说法( C )是正确的。

A.一个类只能有一个构造函数B.一个类可以有多个不同名的构造函数C.构造函数与类同名D.构造函数必须自己定义,不能使用父类的构造函数10.覆盖与重载的关系是( A )。

A.覆盖只有发生在父类与子类之间,而重载发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名C.final修饰的方法可以被覆盖,但不能被重载D.覆盖与重载是同一回事11.以下关于继承的叙述正确的是( A )。

A.在Java中类只允许单一继承B.在Java中一个类只能实现一个接口C.在Java中一个类不能继承一个类的同时实现一个接口D.在Java中接口只允许单一继承12.能与abstract关键字一同修饰类或方法的关键字有( A )。

A.public B.staticC.final D.private13.定义一个接口必须使用的关键字是( C )。

A.publicB.classC.interfaceD.static14.声明并创建一个按钮对象b,应该使用的语句是( A )。

A.Button b=new Button();B.button b=new button();C.Button b=new b();D.b.setLabel(“确定”);15. 符合对象和类的关系的是( D )。

A.教师和学生B.书和房子C.狗和猫D.飞机和交通工具16. 在Java中下列说法正确的是( C )。

A.一个子类可以有多个父类,一个父类也可以有多个子类B.一个子类可以有多个父类,但一个父类只可以有一个子类C.一个子类可以有一个父类,但一个父类可以有多个子类D.上述说法都不对17.关于类的构造方法的叙述不正确的是( B )。

A. 构造方法可以有参数B. 一个类只能有一个构造方法C. 构造方法没有返回值的类型D. 构造方法的名称必须与类名相同18.关于this关键字,以下说法不正确的是( C )。

A.this是对对象自身的调用,使用this.属性名可以直接调用对象本身的属性B.使用this关键字可以处理方法中的局部变量与参数重名的情况C.在static方法中可以使用this关键字访问相关的属性或方法D.当必须指出当前使用方法的对象是谁时,要使用this关键字19.String a = new String("Computer");String b = new String("Computer");若想判断a对象与b对象的值是否相等,应采用( B )方法A.a == bB.a.equals(b)C.a = b D.a.equals = b20.给定代码:1 interface Foo{2 int k = 0;3 }45 public class Test implements Foo {6 public static void main(String[] args) {7 int i ;8 Test test = new Test();9 i = test.k;10 i = Test.k;11 i = Foo.k;12 }13 }编译运行如上代码,结果为( A )A.编译通过B.提示第9行编译错误C.提示第10行编译错误D.提示第11行编译错误21.需要监控错误的代码写在()块中。

A.tryB.catchC.finally D.以上都不正确22.假设i,j为类A中定义的int型的成员变量,下列X类的构造方法中不正确的是( A )A.void A(int k){i = k;}B.A(int k){i = k;}C.void A(int m,int n){i =m;j = n;}D.A(){i = 0;j = 0;}23.用来导入已经定义好的类或包的语句是( A )A.importB.interfaceC.implementsD.package24.为了调用父类的构造方法,可以使用( C )关键字后跟包含该父类所需参数的一对圆括号。

A.superclassB.superconstructorC.super D.以上都不正确25.下列关于抽象类的说法中,正确的是( B )A.抽象类可以继承非抽象类B.抽象类不能实例化对象C.抽象类必须包含抽象方法D.继承抽象类的子类必须实现父类中的抽象方法26.下列关于final的说法中,正确的是( C )A.final修饰的类可以被继承B.final修饰的方法不能被子类继承C.final修饰的成员变量一旦初始化,就不能修改D.final修饰的方法,在子类中可以被重写27.以下关于继承中的构造方法的描述中,正确的是( B )A.子类只能继承父类中的构造方法,但不能定义自己的构造方法B.子类和父类均可以独自定义自己的构造方法,但执行的顺序有规定C.如果父类定义了构造方法,子类继承父类时必须重写父类的构造方法D.子类可以定义自己的构造方法,但受父类定义的构造方法的限制28.关于类和对象的叙述不正确的是( B )A.对象是类的一个实例B.一个类只能有一个对象C.任何一个对象都属于一个具体的类D.类与对象的关系和数据类型与变量的关系相似29.现有两个类A、B,以下描述中表示B继承自A的是( C )A.class A extends BB.class A implements BC.class B extends AD.class B implements A30.若一个类中,对某个方法进行重载,能够区分这些重载方法的手段是( )A.他们的返回值类型不同B.他们的方法名不同C.他们的参数列表不同D.他们的访问权限修饰符不同二、填空题(每空1分*15空,15%)1.抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。

2.用关键字final修饰的方法是不能被当前类的子类重新定义的方法。

3.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多继承关系。

4.子类重新定义了父类中的同名成员变量,这种现象称为属性隐藏,子类重新定义了父类中的同名成员方法,称为方法重写。

5.对象声明的一般格式为类名对象名。

6.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,实现的语句为:MyClass obj = new MyClass();7.Java语言中,用来分配内存的运算符是new。

8.Java中的Object类是最顶层的类,所有其他的类都是它直接或间接的子类。

9.创建一个名为MyPackage的包的语句是package MyPackage;,该语句应该放在程序的位置为第一行。

10.Java中类成员的限定词有以下几种:private,public, protected和缺省。

11.Java类中关键字static修饰的变量叫做类变量。

12.线程在生命期中要经历5种状态,分别是新建状态、可运行状态、运行状态、阻塞状态和死亡状态。

13.多线程是Java程序的并发机制,它能同步共享数据,处理不同事件。

14.Java中this指当前对象。

15.局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字this。

16.我们在Java程序中,把关键字super加到方法名称的前面,来实现子类调用父类的方法。

17.面向对象的计算机语言一般应具有3个基本特性,分别是封装、继承、多态。

18.访问权限是private的变量,只能在本类中使用,不能在类外使用和访问。

19.任何一个Java程序都默认引入一个包,这个包的名字是ng。

20.接口是一种只含有抽象方法或常量的一种特殊抽象类。

21.接口中所有属性的修饰符为public、static和final。

22.Throwable是Exception类的直接父类。

23.局部变量定义在类中某一方法的内部,其作用范围为该变量定义的地方开始,至所属方法结束的地方为止。

24.静态方法中不能访问非静态成员25.父类对象通过子类对象去实例化,实际上就是对象的向上转型,这种转型不需要进行强制类型转换,可以自动完成。

但是会丢失精度。

26.方法的重载指同一个类中多个方法可以使用相同的名字,但是参数的数量或类型必须不完全相同。

方法的重载是Java实现多态性的一种方式。

27.异常是程序编译或运行期间所发生的不正常事件。

28.如果一个接口定义了一个方法methodA()和methodB(),那么一个类实现该借口,至少有2个方法。

29.实现Runnable()接口就必须实现run方法。

30.try语句后面可以跟一个或多个catch语句和0~1个finally语句。

相关主题