当前位置:文档之家› JAVA继承,接口,抽象类等练习

JAVA继承,接口,抽象类等练习

一、选择题1、为了区分重载多态中同名的不同方法,要求(A )。

A) 采用不同的参数列表B) 返回值类型不同C) 调用时用类名或对象名做前缀D) 参数名不同2、定义主类的类头时可以使用的访问控制符是( C)。

A) private B) protected C) public D) private protected3、下列整型的常量属性i 的定义中,正确的是( A)。

A) static final int i=100; B) final int i;C) static int i; D) final float i=1.2f;4、设x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( C)。

A) public x x1= new y( ); B) x x1=x( );C) x x1=new x( ); D) int x x1;5、下列方法定义中,正确的是( D)。

A) int x( int a,b ) B) double x( int a,int b){ return (a-b); } { int w; w=a-b; }C) double x( a,b ) D) int x( int a,int b){ return b; } { return a-b; }6、为了使包sos在当前程序中可见,可以使用的语句是( A)。

A)import sos.*; B)package sos.*;C)sos import; D)sos package;7、设i、j、k 为类x 中定义的int 型变量名,下列类x 的构造函数中正确的是( )。

A) x( int m){ ... } B) void x( int m){ ... }C) x( int m, int n){ ... } D) x( int h,int m,int n){ ... }8、下列类头定义中,正确的是( )。

CA) class x B) public x extends y{ .... } { .... }C) public class x extends y D) class x extends y implements y1{ .... } { .... }9、下面是有关子类继承父类构造函数的描述,其中正确的是(C )。

A) 创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。

B) 子类无条件地继承父类不含参数的构造函数。

C) 子类通过super关键字调用父类的构造函数。

D) 子类无法继承父类的构造函数。

10、下面说法正确的是(A )。

A) final 可修饰类、属性、方法。

B) abstract可修饰类、属性、方法。

C) 定义抽象方法需有方法的返回类型、名称、参数列表和方法体。

D) 用final修饰的变量,在程序中可对这个变量的值进行更改。

11、现有两个类A、B,以下描述中表示B继承自A的是(D )。

A) class A extends B B) class B implements AC) class A implements B D) class B extends A12、Java中的每一个类:A CA)只能有一个父类B)可以有多个父类C)可以没有父类D)只能实现一个接口13、以下程序运行结果是:Apublic class FatherClass{public FatherClass(){System.out.print ("Father ");}}public class ChildClass extends FatherClass {public ChildClass() {System.out.print ("Child ");}public static void main(String[] args) {FatherClass fc = new ChildClass();}}A) FatherChild B) ChildC) Father D) 出错15、同一类中有两个以上方法同名称方法重载,Java语言规定:CA)不允许重载;B)父类的方法与子类的方法不构成重载;C)重载方法的参数表必须不同;D)重载方法的返回值类型必须不同。

16、下述关于继承的说法正确的是:CA)要从一个父类派生出一个子类,就要将父类代码全部复制过来,再添上子类特有的代码。

B)声明继承某个父类就意味着可以使用父类的全部非private变量和方法。

C)被继承的父类代码必须与子类代码在同一个源代码文件(.java文件)内。

D)父类的字节码文件(.class文件)必须与子类的字节码文件放在同一文件夹中。

17、关于在子类中调用父类构造方法的问题,下述说法正确的是:BA)子类构造方法一定要调用父类的构造方法;B)子类构造方法只能在第一条语句调用父类的构造方法;C)调用父类构造方法的方式是:父类名(参数表);D)默认情况下子类的构造方法将调用父类的无参数构造方法。

19、子类中定义的方法与父类方法同名且同形时称父类方法被复盖(也称重写)以下说法正确的是:CA)父类对象调用的也是子类的方法;B)在子类中仍可用super.方法名调用父被复盖的方法;C)父类中用final修饰的方法不允许被复盖;D)子类方法必须与父类被重写的方法在访问权限、返回值类型、参数表等方面完全一致。

20、用abstract修饰的类称为抽象类,它们:AA)只能用以派生新类,不能用以创建对象;B)只能用以创建对象,不能用以派生新类;C)既可用以创建对象,也可用以派生新类;D)既不能用以创建对象,也不可用来派生新类。

21、类中的某个方法是用final修饰的,则该方法:CA)是虚拟的,没有方法体;B)是最终的,不能被子类继承;C)不能用被子类同名方法复盖;D)不能用被子类其它方法调用。

22、一个类中,用static修饰的变量称静态变量:DA)同一时刻,该类的所有对象中该变量值都相同;B)所有对象中的方法都不能对该变量进行赋值操作;C)其值不能改变;D)与实例变量一样,每个对象中的值互相独立。

23、一个类中,用static修饰的方法称静态方法:BA)该类中其它方法不能调用它;B)它不能直接调用类中其它不用static修饰的方法;C)没有用类创建对象之前,类外无法调用该方法;D)类外调用该方法的方式必须是:对象名.方法名(实参数据)。

24、在定义一个类时,若希望某个成员方法调用范围是同一包内所有类,其修饰词应为:ACDA)public B)private C)protected D)默认25、关于接口以下说法正确的是:A CA)接口中的变量必须用public static final三个修饰词修饰;B)接口中的方法必须用public abstract两个修饰符修饰;C)一个接口可以继承多个父接口;D)接口的构造方法名必须为接口名。

26、以下关于接口对象的说法中正确的是:A)接口只能被类实现,不能用来声明对象;B)接口对象可以用关键词new创建;C)接口对象可以等于任何类的对象;D)接口对象只能等于实现该接口的类的对象;27、若有如下接口A的定义,下列哪些类下确实现了该接口Cinterface A {void method1(int i);void method2(int j);}A)class B implements A{void method1( ) { }void method2( ) { }}B)class B {void method1(int i ) { }void method2(int j ) { }}C)class B implements A {void method1(int i ) { }void method2(int j ) { }}D)class B implements A{public void method1(int x ) { }public void method2(int y ) { }}28、关于Java中包的概念,以下正确的是:A)包是一些类与接口的集合;B)J ava的包中可以包含子包;C)包中的类与子包中的类被认为是同一包内;D)包中的类不能访问子包中非public的类。

30、关于以下程序叙述正确的是:Aclass Base {Base(int i){System.out.print(“Base ”);}}class Test extends Base{Test ( ){System.out.print(“Test ”);}public static void main(String[] args){Test b = new Test();}}A)程序运行出错,因为Base类未定义构造方法;B)程序运行正常,输出Base ;C)程序运行正常,输出Base Test ;D)程序运行正常,但无输出。

二、编程练习【练习题】Static关键字与普通变量的区别:创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量。

对变量分别赋予10和5的初始值。

在main()方法中输出变量值。

【练习题】覆盖、继承建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。

并通过不同的构造方法创建实例。

至少要求:汽车能够加速,减速,停车。

再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法【练习题】抽象类与继承设计一个能细分为矩形、三角形、圆形和椭圆形的“图形”类。

使用继承将这些图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。

本题只考虑实现思想,不考虑具体实现的细节,实现方式可自由发挥。

【练习题】抽象类:创建一个Vehicle类并将它声明为抽象类。

在Vehicle类中声明一个NoOfWheels 方法,使它返回一个字符串值。

创建两个类Car和Motorbike从Vehicle类继承,并在这两个类中实现NoOfWheels方法。

在Car类中,应当显示“四轮车”信息;而在Motorbike类中,应当显示“双轮车”信息。

创建另一个带main方法的类,在该类中创建Car和Motorbike的实例,并在控制台中显示消息。

【练习题】接口:创建一个名称为Vehicle的接口,在接口中添加两个带有一个参数的方法start()和stop()。

在两个名称分别为Bike和Bus的类中实现Vehicle接口。

创建一个名称为interfaceDemo的类,在interfaceDemo的main()方法中创建Bike和Bus对象,并访问start()和stop()方法。

相关主题