11. class Animal { public String noise() { return “peep”; } 

题目
单选题
11. class Animal { public String noise() { return “peep”; } }  12. class Dog extends Animal {  13. public String noise() { return “bark”; }  14. }  15. class Cat extends Animal {  16. public String noise() { return “meow”; }  17. }  .....  30. Animal animal = new Dog();  31. Cat cat = (Cat)animal;  32. System.out.printIn(cat.noise());  What is the result?()
A

 peep

B

 bark

C

 meow

D

 Compilation fails.

E

 An exception is thrown at runtime.

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

第1题:

( 12 )有如下程序:

#include <iostream>

using namespace std

class Animal{

public:

virtual char* getType () const { return "Animal" ; }

virtual char* getVoice () const { return "Voice" ; }

};

Class Dog : public Animal {

public:

char* getType ( ) const {return "Dog" ; }

char* getVoice ( ) const {return "Woof"}

};

void type ( Animal& a ) {cout<<a.getType ( ) ; }

void speak ( Animal a ) {cout<<a.getVoice ( ) ; }

int main ( ) {

Dog d; type ( d ) ; cout<<" speak" ; speak ( d ) ; cout<<endi;

return 0;

}

运行时的输出结果是【 12 】 。


正确答案:

第2题:

有如下程序:

nclude<iostream>

using namespace std;

class Animal{

public:

virtual char*getType()const{return“Animal”;}

virtual char*getVoice()const{return“Voice”;}

};

class Dog:public Animal{

public:

char*getType()const{rgturn“Dog”;}

char*getVoice()const{retum“Woof”;}

};

void type(Animal&A){cout<<a.getType();}

void speak(AnimalA){cout<<a.getVoice();}

int main(){

Dog d.type(D);tout<<“speak”;speak(D);cout<<endl;

return 0;

}

运行时的输出结果是【 】


正确答案:Dog speak Voice
Dog speak Voice 解析:基类中有两个虚函数getType( )和getVoiee( ),在派生类中同样也有。函数type和speak的形参都是Animal类的对象,但是一个是引用调用,另一个不是。当用Animal的派生类Dog类定义的对象调用这两个函数时,type函数会转向:Dog类中的成员函数,而speak函数不会。

第3题:

有如下程序: include using namespaee std;class Animal{ public: virtual char*g

有如下程序:

include<iostream>

using namespaee std;c lass Animal{

public:

virtual char*getType( )const{return"Animal";}

virtual char*getVoice( )const{return"Voice";}

};

class Dog:public Animal{

public:

char*getType( )const{return"Dog";}

char*getVoice( )eonst{return"Woof";}

};

void type(Animal&A) {cout<<a.getType( );}

void speak(Animal A) {eout<<a.getVoice( );}

int main( ){

Dog d;type(D) ;cout<<"speak";speak(D) ;cout< return 0;

}

程序的输出结果是______。


正确答案:Dog SpeakVoice
Dog SpeakVoice 解析:派生类继承基类,并重新定义了基类的虚函数。void type(Animal&A) 是对象引用作为函数参数,传递的是地址,是“地址调用”,故a.getType( )调用的是派生类重新定义后的get—Type( )成员函数。void speak(Animal A) 是对象作为函数参数,是“传值调用”,在进行函数调用时,将派生类对象赋值给基类对象。但是,对象a只能调用派生类继承自基类的成员。故在a.getVoice( )中调用的是基类的虚函数getVoice( ),打印“Voive”。

第4题:

public class Employee{       private String name;  public Employee(String name){           this.name = name;      }  public String getName(){         return name;      } }  public class Manager extends Employee{       public Manager(String name){          System.out.println(getName());      } }  执行语句new Manager(“smith”)后程序的输出是哪项?() 

  • A、 smith
  • B、 null
  • C、 编译错误
  • D、 name

正确答案:C

第5题:

下列程序片段中,能通过编译的是( )。 A.public abstract class Animal{ public void speak;}S

下列程序片段中,能通过编译的是( )。

A.public abstract class Animal{ public void speak;}

B.public abstract class Animal{ public void speak{);}

C.public class Animal{ pubilc abstract void speak;}

D.public abstract class Animal{ pubile abstract void speak{};}


正确答案:A
A。【解析】Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法)。有abstract方法的父类只声明,由继承它的子类实现。所以选A。

第6题:

阅读下面代码 abstract class Person { public Person(String n) { name=n; } public______String getDescription(); public String getName() { return name; } private String name; } 在下画线处应填入的修饰符是

A.static

B.abstract

C.protected

D.final


正确答案:B

第7题:

下列程序片段中,能通过编译的是( )。

A.public abstract class Animal{public void speak( );}

B.public abstract class Animal{public void speak( ){};}

C.public class Animal{pubilc abstract void speak( );}

D.public abstract class Animal{pubile abstract void speak( ){};}


正确答案:D
Java中一个类是一个abstract类的子类,它必须具体实现父类的abstract方法。如果一个类中含有abstract方法,那么这个类必须用abstract来修饰(abstract类也可以没有abstract方法)。有abstract方法的父类只声明,由继承他的子类实现。所以选D。

第8题:

下列程序片段中,能通过编译的是

A.public abstract class Animal{ public void speak();}

B.public abstract class Animal{ public void speak(){}}

C.public class Animal{ public abstract void speak();}

D.public abstract class Animal{ public abstract void speak(){}}


正确答案:A

第9题:

Assume that country is set for each class.  Given:  10. public class Money {  11. private String country, name;  12. public getCountry() { return country; }  13.}  and:  24. class Yen extends Money {  25. public String getCountry() { return super.country; }  26. }  27.  28. class Euro extends Money {  29. public String getCountry(String timeZone) {  30. return super.getCountry();  31. }  32. }  Which two are correct?()

  • A、 Yen returns correct values.
  • B、 Euro returns correct values.
  • C、 An exception is thrown at runtime.
  • D、 Yen and Euro both return correct values.
  • E、 Compilation fails because of an error at line 25.
  • F、 Compilation fails because of an error at line 30.

正确答案:B,E

第10题:

interface Animal {  void soundOff();  }  class Elephant implements Animal {  public void soundOff() {  System.out.println(“Trumpet”);  }  }  class Lion implements Animal {  public void soundOff() { System.out.println(“Roar”);  }  }  class Alpha1 {  static Animal get( String choice ) {  if ( choice.equalsIgnoreCase( “meat eater” )) {  return new Lion();  } else {  return new Elephant();  }  }  }  Which compiles?()  

  • A、 new Animal().soundOff();
  • B、 Elephant e = new Alpha1();
  • C、 Lion 1 = Alpha.get(“meat eater”);
  • D、 new Alpha1().get(“veggie”).soundOff();

正确答案:D

更多相关问题