单选题11. abstract class Vehicle { public int speed() { return 0; } }  12. class Car extends Vehicle { public int speed() { return 60; } }  13. class RaceCar extends Car { public int speed() { return 150; }}  ......  21. RaceCar racer = new RaceCar();  22. C

题目
单选题
11. abstract class Vehicle { public int speed() { return 0; } }  12. class Car extends Vehicle { public int speed() { return 60; } }  13. class RaceCar extends Car { public int speed() { return 150; }}  ......  21. RaceCar racer = new RaceCar();  22. Car car = new RaceCar();  23. Vehicle vehicle = new RaceCar();  24. System.out.println(racer.speed() + “, „ + car.speed()  25. + “, “+ vehicle.speed());  What is the result?()
A

 0, 0,0

B

 150, 60, 0

C

 Compilation fails.

D

 150, 150, 150

E

 An exception is thrown at runtime.

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

能将程序补充完整的选项是______。 class Person{ private int a; phblic int change(int m){return m;} } public class Teacher extends Person{ public int b; public static void main(String arg[ ]){ Person p=new Person( ); Teacher t=new Teacher( ); int i; ______; } }

A.i=m

B.i=b

C.i=p.a

D.i=p.change(50)


正确答案:D
解析: 选项B中虽然b是类Teacher的public成员变量,但在静态方法中,不能使用类中的非静态成员;选项C中的a是Person类的private成员,不能在类外直接引用;选项D中的change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。

第2题:

Given:Which code, inserted at line 15, allows the class Sprite to compile?()

A.Foo { public int bar() { return 1; }

B.new Foo { public int bar() { return 1; }

C.new Foo() { public int bar() { return 1; }

D.new class Foo { public int bar() { return 1; }


参考答案:C

第3题:

class A

{public int getNumber(int a){return a+1;}}

class B extends A

{public int getNumber(int a, char c){return a+2;}public static void main(String[] args){B b=new B();System.out.println(b.getNumber(0));}}

what is the result?()

A.compilation succeeds and 1 is printed

B.compilation succeeds and 2 is printed

C.compilation succeeds and 3 is printed

D.An error at this program cause compilation to fail


参考答案:A

第4题:

class A {  protected int method1(int a, int b) { return 0; }  }  Which two are valid in a class that extends class A?() 

  • A、 public int method1(int a, int b) { return 0; }
  • B、 private int method1(int a, int b) { return 0; }
  • C、 private int method1(int a, long b) { return 0; }
  • D、 public short method1(int a, int b) { return 0: }
  • E、 static protected int method1(int a, int b) { return 0; }

正确答案:A,C

第5题:

阅读以下说明和Java代码,填充程序中的空缺,将解答填入答题纸的对应栏内。
[说明]
某应急交通控制系统(TraficControlSystem)在红灯时控制各类车辆(Vehicle)的通行,其类图如下图所示,在紧急状态下应急车辆在红灯时可通行,其余车辆按正常规则通行。

下面的Java代码实现以上设计,请完善其中的空缺。

[Java代码]abstract class Vehicle{public Vehicle(){ }abstract void run();};interface Emergency{ ______; ______;};class Car extends Vehicle{public Car(){ }void run(){ /*代码略*/ }};Class Truck extends Vehicle{public Truck(){ }void run() { /*代码略*/ }};class PoliceCar ______ {boolean isEmergency= false;public PoliceCar(){ }public PoliceCar(boolean b) {this.isEmergency=b; }public boolean isEmergent(){ return ______ }public void runRedLight(){ /*代码略*/ }};/*类Ambulance、FireEngine实现代码略*/public class TraficControlsystem { /*交通控制类*/private Vehicle[]V=new Vehicle[24];int numVehicles;public void control(){for {int i=0; i<numVehicles; i++){if(V[i]instanceof Emergency&&((Emergency)v[i]).isEmergent()){(______).runRedLight();}else______. run();}}void add(Vehicle vehicle){ v[numVehicles++]=vehicle;}/*添加车辆*/void shutDown(){/*代码略*/}public static void main(String[]args){TraficC0ntrolSystem tcs=new TraficControlSystem();tcs.add(new Car());tcs.add(new PoliceCar());tcs.add(new Ambulance());tcs.add(new Ambulance(true));tcs.add(new FireEngine(true));tcs.add(new Truck());tcs.add(new FireEngine());tcs.control();tcs.shutDown();}}


答案:
解析:
boolean isEmergent()
void runRedLight()
extends Car implements Emergency
this.isEmergency
(Emergency)v[i]
v[i]

第6题:

使用VC6打开考生文件夹下的工程test17_1,此工程包含一个源程序文件test17_1.唧,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:

Vehicle message

Car message

Vehicle message

源程序文件test17_1.cpp 清单如下:

include <iostream.h>

class vehicle

{

int wheels;

float weight;

public:

/***************** found *****************/

void message(void){ cout<<"Vehicle message\n";}

};

class car:public vehicle

{

int passenger_load;

public:

/***************** found *****************/

void message (void){cout>>"Car message\n";}

};

class truck:public vehicle

{

int passenger_load;

float payload;

public:

int passengers(void){return passenger_load;}

};

void main()

{

vehicle * unicycle;

unicycle=new vehicle;

/***************** found *****************/

unicycle.message()

delete unicycle;

unicycle=new car;

unicycle->message();

delete unicycle;

unicycle=new truck;

unicycle->message();

delete unicycle;

}


正确答案:(1)错误:void message(void){cout"Vehicle message\n";} 正确:virtual void message(void){cout"Vehicle message\n";} (2)错误:void message(void){cout>>"Carmessage\n”;} 正确:void message(void){eout"Carmessage\n";} (3)错误:unicycle.message(); 正确:unicycle->message();
(1)错误:void message(void){cout"Vehicle message\n";} 正确:virtual void message(void){cout"Vehicle message\n";} (2)错误:void message(void){cout>>"Carmessage\n”;} 正确:void message(void){eout"Carmessage\n";} (3)错误:unicycle.message(); 正确:unicycle->message(); 解析:(1)主要考查考生对于虚函数使用规则的掌握,要实现对函数message的动态联编应该使用虚函数,否则产生的是静态联编,调用的函数输出结果就与要求不符;
(2)主要考查考生对于流输出操作的掌握,该处错误的使用了流输入操作;
(3)主要考查考生是否能分清对象和对象指针,对象指针使用“->”调用成员函数,而对象使用“.”调用成员函数。

第7题:

阅读以下说明和Java代码,填充程序中的空缺,将解答填入答题纸的对应栏内。

【说明】

某应急交通控制系统(TraficControIS,stem)在红灯时控制各类车辆(Vehicle)的通

行,其类图如图6-1所示,在紧急状态下应急车辆在红灯时可通行,其余车辆按正常规

则通行。

下面的Java代码实现以上设计,请完善其中的空缺。

【Java代码】

abstract class Vehicle

public Vehicle () { }

abstract void run

};

interface Emergency {

(1) ;

(2) ;

}

class Car extends Vehicle {

public Car () { }

void run () { /*代码略*/ }

};

class Truck extends Vehicle {

public Truck () { }

void run () { /*代码略*/ }

class PoliceCar (3)

boolean isEmergency = false;

public PoliceCar () { }

public PoliceCar(boolean b) { this . isEmergency =b; }

public boolean isEmergent () { return (4); }

public void runRedLight () { /*代码略*/ }

}

/*类Ambulance. FireEngine实现代码略*/

public class TraficControISystem {/。交通控制类。/

private Vehicle[ ]V=new Vehiele [24];

int numVehicles;

public void control() {

for (int i=0; i<numVehicles; i++) {

if (v[i] instanceof Enu rgency&& ((Emergency)V [i])

isEmergent()) {

( 5 ) . runRedLigh&39;: ( ) ;

}else

(6).run( )

}

}

void add (Vehicle vehicle) { v[numVehicles++]=vehicle;)/*添加车辆*/

void shutDown()(/*代码略*/}

public static void main (Stri.ng [ ] args) {

TraficControlSystem tcs = new TraficControlSystem() ;

tcs . add (new Car () ;

tcs .add (new PoliceCar () ;

tcs .add (new Ambulance () ;

tcs . add (new Ambulance (true》 ;

tcs . add (new FireEngine ( true》 ;

tcs . add (new Truck () ;

tcs . add (new FireEngine ( ) ;

tcs . control () ;

tcs . shutDown () ;

}

}


正确答案:
本题考查Java语言程序设计的能力,涉及类、对象、方法的定义和相关操作。要求
考生根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成题目。
根据题目说明,以交通控制系统(Tn.ficControISystem)为背景,本题目中涉及的各
类车辆和是否应急状态下在红灯时的通行情况。根据说明进行设计,题目给出了类图(图
6-1类图所示)。
图中父类Vehicle,代表交通工具,设计为抽象类。在Java用abstract关键字表示,
表示行驶某一个具体的交通工具。Vehick包含一个抽象方法:run(),方法后没有实现,
直接用;来表示抽象方法,表示行驶的方法由具体子类型完成,所以Vehicle的run()为一
个抽象方法:
Abstractvoidrun()
Car和Truck都继承自Vehicle的两个子类型,所以他们都继承了Vehicle的run()方
法,各自行驶方式有所不同,所以都覆盖了Vehicle的run()方法,并加以实现:
voidrun(){/*代码略*/}
Car的两个子类型PoliceCar和Ambuance都继承自Car,从而PoliceCar和Ambulance
也都继承了Car中的run()方法。Truck的子类FireEngine也继承了Truck的run()方法。
图6-1中Emergency在Java中采用接口实现,其中约定红灯时通行的相关接口为:
isEmergent()和runRedLight().
isEmergent()接口约定应急车辆返回自身紧急情况状态,用bool类型的isEmergency
表示:this.isEmergency,其值在紧急情况下为true,非紧急情况下为false。mnRedLight()
接口约定应急车辆在红灯时如何通行(isEmer:;ency为true,则通行,isEmergency为false,
和普通车辆一样通行)。实现Emergency的类有PoliceCar、Ambulance和FireEngine,所
以在这三个类中都要实现Emergency中定义的接口。在Java中,实现接口用implements
关键字,后面加上所要实现的接口,即:
ClassNameimplementsInterfaceName
交通控制类TraficControISystem对运行的交通工具进行控制,所有交通工具用
Vehicle数组v表示;numVehicles表示交通工具数量;control函数进行控制在紧急情况
下应急车辆红灯通行,其他情况按常规通行;add()表示有车辆加入系统,shutDown()表示系统关闭。Vehicle的子类具体类型有Car、71ruck、PoliceCar、Ambulance和FireEngine,
所以v[]数组中对象有这些类型的对象,加入v[]时会自动向上转型成为Vehicle类型,
Emergency接口的应急车辆有runRedLight()方法,其他Car和Truck只有run()方法。因
此,用for循环中对每个v[i],判定是否是Emergency类型的实例,即是否实现了
Emergency。Java中判断一个对象是否是某个类型的实例用instanceof关键字。即:v[i]
instanceofEmergency,如果是,说明是应急车辆,接着判定应急车辆的状态,在判定之
前先要将应急车辆进行向下转型,Java中向]转型直接在对象前加上用括号括起来的转
换的目标类型即可,即:[Emergency)vli]).isEmergent0,如果判定为真,执行
runRedLight(),判定不成功,则调用run(),调用时动态绑定每个数组元素的实际类型,
需要通过动态类型转换并调用runRedLight():
if(v[i]instanceofEmergency&&《Emergency)v[i]).isEmergent()){
((Emergency)v[i]).runRedLight();
}else
V[i]->run();

主控逻辑代码在maln有法中实现。初始化TraficControISystem,用tcs表示,调用
tcs的add()函数添加具体的交通工具,这里会II动向上转型成为Vehicle类型,调用control()
对各车辆进行控制,调用shutDown()系统关自闭
因此,空(1)和空(2)需要定义接口sEmergent0和runRedLight0,题目代码中
已经给出用分号结尾,所以空(1)和空(2)分别为"boolisEmergent()”和“void
runRedLight()”;空(3)需要继承父类Car和实现接口Emergency,Java中继承采用extends
关键字,即应填入“extendsCarimplementsE】aergency”;空(4)要返回应急车辆对象的
状态,即填入“this.isEmergency”;空(5)剑:为动态类型转换后的对象(Emergency)v[il;
空(6)处为普通车辆对象v[i]。
答案
(1)booleanisEmergent()
(2)Voidrunredlight()
(3)extendsCarimplementsEmergency
(4)this.isEmergency
(5)(Emergency)v[i]
(6)v[i]

第8题:

能将程序补充完整的选项是( )。class Person{ private int a; public int change(int m){ return m; }}public class Teacher extends Person{ public int b; public static void main(String arg[]) { Person p = new Person(); Teacher t = new Teacher(); int i; ______ }} B.

A.i=m

B.i=b

C. i=p.a

D.i=p. change(50)


正确答案:D

第9题:

1. class A {  2. public int getNumber(int a) {  3.     return a + 1;  4. }  5. }  6.    7. class B extends A {  8. public int getNumber (int a) {  9. return a + 2  10. }  11.    12. public static void main (String args[])  {  13. A a = new B();  14. System.out.printIn(a.getNumber(0));  15.    } 16. }     What is the result?()  

  • A、 Compilation succeeds and 1 is printed.
  • B、 Compilation succeeds and 2 is printed.
  • C、 An error at line 8 causes compilation to fail.
  • D、 An error at line 13 causes compilation to fail.
  • E、 An error at line 14 causes compilation to fail.

正确答案:B

第10题:

Which are syntactically valid statement at// point x?()     class Person {     private int a;  public int change(int m){  return m;  }     }  public class Teacher extends Person {     public int b;  public static void main(String arg[]){     Person p = new Person();     Teacher t = new Teacher();    int i;  // point x     }    } 

  • A、 i = m;
  • B、 i = b;
  • C、 i = p.a;
  • D、 i = p.change(30);
  • E、 i = t.b.

正确答案:D,E

更多相关问题