java继承接口抽象类等练习Word格式.docx
《java继承接口抽象类等练习Word格式.docx》由会员分享,可在线阅读,更多相关《java继承接口抽象类等练习Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
}{intw;
w=a-b;
}
C)doublex(a,b)D)intx(inta,intb)
{returnb;
}{returna-b;
6、为了使包sos在当前程序中可见,可以使用的语句是(A)。
A)importsos.*;
B)packagesos.*;
C)sosimport;
D)sospackage;
7、设i、j、k为类x中定义的int型变量名,以下类x的构造函数中正确的选项是(ACD)。
A)x(intm){...}B)voidx(intm){...}
C)x(intm,intn){...}D)x(inth,intm,intn){...}
8、以下类头定义中,正确的选项是(ACD)。
A)classxB)publicxextendsy
{....}{....}
C)publicclassxextendsyD)classxextendsyimplementsy1
{....}{....}
9、下面是有关子类继承父类构造函数的描绘,其中正确的选项是(C)。
A)创立子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B)子类无条件地继承父类不含参数的构造函数。
C)子类通过super关键字调用父类的构造函数。
D)子类无法调用父类的构造函数。
10、下面说法正确的选项是(A)。
A)final可修饰类、属性、方法。
B)abstract可修饰类、属性、方法。
C)定义抽象方法需有方法的返回类型、名称、参数列表和方法体。
D)用final修饰的变量,在程序中可对这个变量的值进展更改。
11、现有两个类A、B,以下描绘中表示B继承自A的是(D)。
A)classAextendsBB)classBimplementsA
C)classAimplementsBD)classBextendsA
12、Java中的每一个类:
〔AC〕
A〕只能有一个父类B〕可以有多个父类
C〕可以没有父类D〕只能实现一个接口
13、以下程序运行结果是:
〔A〕
publicclassFatherClass{
publicFatherClass(){
("
Father"
);
}
}
publicclassChildClassextendsFatherClass{
publicChildClass(){
Child"
publicstaticvoidmain(String[]args){
FatherClassfc=newChildClass();
A)FatherChildB)Child
C)FatherD)出错
15、同一类中有两个以上方法同名称,Java语言规定:
〔C〕
A)不允许重载;
B)父类的方法与子类的方法不构成重载;
C)重载方法的参数表必须不同;
D)重载方法类型必须不同。
16、下述关于继承的说法正确的选项是:
〔CD〕
A)要从一个父类派生出一个子类,就要将父类代码全部复制过来,再添上子类特有的代码。
B)声明继承某个父类就意味着可以使用父类的全部非private变量和方法。
C)子类中可以定义与父类中一样的方法。
D)默认情况下,子类调用的是父类的无参构造方法。
17、关于在子类中调用父类构造方法的问题,下述说法正确的选项是:
〔B〕
A)子类构造方法一定要调用父类的构造方法;
B)子类构造方法只能在第一条语句调用父类的构造方法;
C)调用父类构造方法的方式是:
父类名(参数表);
D)默认情况下子类的构造方法将调用父类的无参数构造方法。
19、子类中定义的方法与父类方法同名且同形时称父类方法被复盖〔也称重写〕,以下说法正确的选项是:
〔BC〕
A)父类对象调用的也是子类的方法;
B)在子类中仍可用super.方法名调用父被复盖的方法;
C)父类中用final修饰的方法不允许被复盖;
D)子类方法必须与父类被重写的方法在访问权限、返回值类型、参数表等方面完全一致。
20、用abstract修饰的类称为抽象类,它们:
A)只能用以派生新类,不能用以创立对象;
B)只能用以创立对象,不能用以派生新类;
C)既可用以创立对象,也可用以派生新类;
D)既不能用以创立对象,也不可用来派生新类。
21、类中的某个方法是用final修饰的,那么该方法:
〔C〕
A)是虚拟的,没有方法体;
B〕是最终的,不能被子类继承;
C〕不能用被子类同名方法复盖;
D〕不能用被子类其它方法调用。
22、一个类中,用static修饰的变量称静态变量:
〔A〕
A)同一时刻,该类的所有对象中该变量值都一样;
B)所有对象中的方法都不能对该变量进展赋值操作;
C)其值不能改变;
D)与实例变量一样,每个对象中的值互相独立。
23、一个类中,用static修饰的方法称静态方法:
〔B〕
A)该类中其它方法不能调用它;
B)它不能直接调用类中其它不用static修饰的方法;
C)没有用类创立对象之前,类外无法调用该方法;
D)类外调用该方法的方式必须是:
对象名.方法名〔实参数据〕。
24、定义一个类时,假设希望某成员方法调用范围是同一包内所有类,其修饰词应为:
〔D〕
A〕publicB)privateC)protectedD)默认
25、关于接口以下说法正确的选项是:
〔C〕
A)接口中的变量必须用publicstaticfinal三个修饰词修饰;
B)接口中的方法必须用publicabstract两个修饰符修饰;
C)一个接口可以继承多个父接口;
D)接口的构造方法名必须为接口名。
26、以下关于接口对象的说法中正确的选项是:
A
A)接口只能被类实现,不能用来声明对象;
B)接口对象可以用关键词new创立;
C)接口对象可以等于任何类的对象;
D)接口对象只能等于实现该接口的类的对象;
27、假设有如下接口A的定义,以下哪些类实现了该接口〔C〕
interfaceA{
voidmethod1(inti);
voidmethod2(intj);
}
A〕classBimplementsA{
voidmethod1(){}
voidmethod2(){}
}
B〕classB{
voidmethod1(inti){}
voidmethod2(intj){}
C〕classBimplementsA{
voidmethod2(intj){}K
D〕classBimplementsA{
publicvoidmethod1(intx){}
publicvoidmethod2(inty){}
28、关于Java中包的概念,以下正确的选项是:
D
A)包是一些类与接口的集合;
B)Java的包中可以包含子包;
C)包中的类与子包中的类被认为是同一包内;
D)包中的类不能访问子包中非public的类。
30、关于以下程序表达正确的选项是:
classBase{
Base(inti){
“Base〞);
classTestextendsBase{
Test(){
“Test〞);
publicstaticvoidmain(String[]args){
Testb=newTest();
}
A〕程序运行出错,因为Base类未定义构造方法;
B〕程序运行正常,输出Base;
C〕程序运行正常,输出BaseTest;
D〕程序运行正常,但无输出。
二、编程练习
【1】覆盖、继承
建立一个汽车Auto类,包括轮胎个数,汽车颜色,车身重量、速度等成员变量。
并通过不同的构造方法创立实例。
至少要求:
汽车可以加速,减速,停车。
再定义一个小汽车类Car,继承Auto,并添加空调、CD等成员变量,覆盖加速,减速的方法
classAuto
{
intluntai;
Stringcolor;
doubleweight;
doublev;
Auto(){
Auto(doublev){
voidaddV(){
voidupV(){
voidstop(){
}
classCarextendsAuto
Stringkongtiao;
StringCD;
【2】抽象类与继承
设计一个能细分为矩形、三角形、圆形和椭圆形的“图形〞类。
使用继承将这些图形分类,找出能作为基类部分的共同特征(如校准点)和方法(如画法、初始化),并看看这些图形是否能进一步划分为子类。
classPic
doubles;
voidhuaFa(){
voidgetS(){
classJuXingextendsPic
intheight;
intwidth;
JuXing(intheight,intwidth){
Thisheight=height;
classSanJiaoextendsPic
inta;
intb;
intc;
classYuanextendsPic
intr