单选题class Beverage {   Beverage() { System.out.print("beverage "); }   }   class Beer extends Beverage {   public static void main(String [] args) {   Beer b = new Beer(14);   }   public int Beer(int x) {   this();   System.out.print("beer1 ");   }   publi

题目
单选题
class Beverage {   Beverage() { System.out.print("beverage "); }   }   class Beer extends Beverage {   public static void main(String [] args) {   Beer b = new Beer(14);   }   public int Beer(int x) {   this();   System.out.print("beer1 ");   }   public Beer() { System.out.print("beer2 "); }  }   结果是什么?()
A

beer1 beverage

B

beer2 beverage

C

beverage beer1

D

编译失败


相似考题

4.阅读下列说明与相关类图,填空并回答问题。【说明】装饰者模式动态地给一个对象添加一些额外的职责,就扩展功能而言,该模式比生成子类方式更加灵活。装饰模式的提出有助于解决滥用继承的问题。例如,一个名叫星巴兹(Starbuzz)的咖啡连锁店提供多种多样的咖啡,最朴素的设计就是采用继承,即设计一个饮料抽象基类Beverage,让不同种类的咖啡HouseBlend、 Decaf、Espresso、DarkRoast继承Beverage类,如图13-23所示。Beverage类的cost()方法是抽象方法,每个子类的cost()方法实现即返回具体咖啡种类的价钱,Beverage类的 description实例变量由每个子类设置,用来描述该类饮料,Beverage类的getDescription()方法用来返回此描述。客户在点咖啡时还可以要求添加各种各样的调料(Condiment),加入的调料不同所收取的费用也是不同的,让各种加了调料的不同咖啡都继承基类Beverage,当咖啡种类和调料种类很多时,组合种类的数量就会急剧增长,就会发生“类数量爆炸”现象,如图13-24所示。显然,采用这种设计方式会使得代码的维护变得十分困难,可以采用装饰者模式来解决这个问题。软件设计师蝴蝶飞根据装饰者模式的思想设计了如图13-25所示的类图。在图13-25中,将各种调料Milk、Mocha、Soy、Whip作为装饰者来装饰House- Blend、Decal、Espresso、DarkRoast等各种咖啡。下面的Java程序(代码13-6)对应其具体实现。【代码13-6】import java.io.* ;abstract class Beverage{String description="Unknown Beverage";public String getDescription(){return description;}public (1) double cost();}abstract class CondimentDecorator (2) Beverage {public abstract Strmg getDescription();}class Decafextends Beverage {public Decaf(){description="Decaf Coffee";}public double cost(){return 1.05;}}class Espresso extends Beverage {public Espresso() {description="Espresso";}public double cost(){return 1.99;}}class HouseBlend extends Beverage{public HouseBlend(){description="House Blend Coffee";}public double cost(){return.89;}}class DarkRoast extends Beverage{public DarkRoast(){description="Dark Roast Coffee";}public double cost(){return.99;}}class Mocha extends CondtmentDecorator{Beverage (3);public Mocha(Beverage beverage){this.beverage=beverage;}public String getDescription(){return beverage.getDescription()+", Mocha";}public double cost(){return.20+beverage.cost();}}Class Soy extends CondimentDecorator{Beverage beverage;public Soy(Beverage beverage) {this.beverage=beverage;}public Strillg getDescription(){

更多“单选题class Beverage {   Beverage() { System.out.print("beverage "); }   }   class Beer extends Beverage {   public static void main(String [] args) {   Beer b = new Beer(14);   }   public int Beer(int x) {   this();   System.out.print("beer1 ");   }   publi”相关问题
  • 第1题:

    interface A{

    int x = 0;

    }

    class B{

    int x =1;

    }

    class C extends B implements A {

    public void pX(){

    System.out.println(x);

    }

    public static void main(String[] args) {

    new C().pX();

    }

    }


    正确答案:

     

    错误。在编译时会发生错误(错误描述不同的JVM 有不同的信息,意思就是未明确的

    x 调用,两个x 都匹配(就象在同时import java.util 和java.sql 两个包时直接声明Date 一样)。

    对于父类的变量,可以用super.x 来明确,而接口的属性默认隐含为 public static final.所以可

    以通过A.x 来明确。

  • 第2题:

    试题六(共15分)

    阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。

    【Java代码】

    import java.util.*;

    (1) class Beverage { //饮料

    String description = "Unknown Beverage";

    public (2) (){return description;}

    public (3) ;

    }

    abstract class CondimentDecorator extends Beverage { //配料

    (4) ;

    }

    class Espresso extends Beverage { //蒸馏咖啡

    private final int ESPRESSO_PRICE = 25;

    public Espresso() { description="Espresso"; }

    public int cost() { return ESPRESSO_PRICE; }

    }

    class DarkRoast extends Beverage { //深度烘焙咖啡

    private finalint DARKROAST_PRICE = 20;

    public DarkRoast() { description = "DarkRoast"; }

    public int cost(){ rcturn DARKROAST PRICE; }

    }

    class Mocha extends CondimentDecorator { //摩卡

    private final int MOCHA_PRICE = 10;

    public Mocha(Beverage beverage) {

    this.beverage = beverage;

    }

    public String getDescription() {

    return beverage.getDescription0 + ", Mocha";

    }

    public int cost() {

    return MOCHA_PRICE + beverage.cost();

    }

    }

    class Whip extends CondimentDecorator { //奶泡

    private finalint WHIP_PRICE = 8;

    public Whip(Beverage beverage) { this.beverage = beverage; }

    public String getDescription() {

    return beverage.getDescription()+", Whip";

    }

    public int cost() { return WHIP_PRICE + beverage.cost(); }

    }

    public class Coffee {

    public static void main(String args[]) {

    Beverage beverage = new DarkRoast();

    beverage=new Mocha( 5 );

    beverage=new Whip ( 6 );

    System.out.println(beverage.getDescription() +"¥" +beverage.cost());

    }

    }

    编译运行上述程序,其输出结果为:

    DarkRoast, Mocha, Whip ¥38


    正确答案:
    (1) abstract
    (2) String getDescription
    (3) abstract int cost()
    ( 4) Beverage beverage
    (5) beverage
    (6) beverage

  • 第3题:

    public class Base {  public static final String FOO = “foo”;  public static void main(String[] args) {  Base b = new Base();  Sub s = new Sub();  System.out.print(Base.FOO);  System.out.print(Sub.FOO);  System.out.print(b.FOO);  System.out.print(s.FOO);  System.out.print(((Base)s).FOO);  } }  class Sub extends Base {public static final String FOO=bar;}  What is the result?() 

    • A、 foofoofoofoofoo
    • B、 foobarfoobarbar
    • C、 foobarfoofoofoo
    • D、 foobarfoobarfoo
    • E、 barbarbarbarbar
    • F、 foofoofoobarbar
    • G、 foofoofoobarfoo

    正确答案:D

  • 第4题:

    class Flibitz {   public static void main(String [] args) {   int grop = 7;   new Flibitz().go(grop);   System.out.print(grop);   }   void go(int grop) {   if(++grop 〉 7) grop++;   System.out.print(grop);   }   }   结果为:()  

    • A、77
    • B、79
    • C、97
    • D、99

    正确答案:C

  • 第5题:

    class Top {  static int x = 1;  public Top(int y) { x *= 3; }  }  class Middle extends Top {  public Middle() { x += 1; }  public static void main(String [] args) {  Middle m = new Middle();  System.out.println(x);  }  }  结果为:() 

    • A、1
    • B、2
    • C、3
    • D、编译失败

    正确答案:D

  • 第6题:

    class Beverage {   Beverage() { System.out.print("beverage "); }   }   class Beer extends Beverage {   public static void main(String [] args) {   Beer b = new Beer(14);   }   public int Beer(int x) {   this();   System.out.print("beer1 ");   }   public Beer() { System.out.print("beer2 "); }  }   结果是什么?()  

    • A、beer1 beverage
    • B、beer2 beverage
    • C、beverage beer1
    • D、编译失败

    正确答案:D

  • 第7题:

    class Parser extends Utils {  public static void main(String [] args) {   System.out.print(new Parser().getInt("42"));  }  int getInt(String arg) {  return Integer.parseInt(arg);  }  }  class Utils {  int getInt(String arg) throws Exception { return 42; }  }  结果为:() 

    • A、42
    • B、编译失败
    • C、无输出结果
    • D、运行时异常被抛出

    正确答案:A

  • 第8题:

    单选题
    现有:      class Cat  {      Cat (int c)  {System.out.print {"cat"+c+" ");  }      }      class SubCat extends Cat  {      SubCat (int c){super (5); System.out.print ("cable");}      SubCat()  {  this (4);  }      public static void main (String  []  args)  {      SubCat s= new SubCat();      }      }     结果为:()
    A

     cat5

    B

     cable

    C

     cat5 cable

    D

     cable cat5


    正确答案: D
    解析: 暂无解析

  • 第9题:

    单选题
    class Bird {  static void talk() { System.out.print("chirp "); }  }  class Parrot extends Bird {  static void talk() { System.out.print("hello "); }  public static void main(String [] args) {  Bird [] birds = {new Bird(), new Parrot()};  for( Bird b : birds)  b.talk();  }  }  结果为:()
    A

    chirp chirp

    B

    chirp hello

    C

    hello hello

    D

    编译失败


    正确答案: D
    解析: 暂无解析

  • 第10题:

    单选题
    下列程序的运行结果是(  )。class Shape{ public Shape(){ System.out.print("Shape"); }}class Circle extends Shape{ public Circle(){ System.out.print("Circle"); }}public class Test{ public static void main(String[]args){ Shape d=new Circle(); }}
    A

    Shape

    B

    Circle

    C

    ShapeCircle

    D

    程序有错误


    正确答案: B
    解析:
    继承是面向对象编程的一个主要优点之一,它对如何设计Java类有着直接的影响。该程序首先编写了一个Shape的类,然后又编写一个类Circle去继承Shape类。由于子类拥有父类所有的属性和方法,所以输出的是ShapeCircle。

  • 第11题:

    单选题
    class Passer {  static final int x = 5;  public static void main(String [] args) { new Passer().go(x);  System.out.print(x);  }  void go(int x) {  System.out.print(++x);  }  }  结果是什么?()
    A

    55

    B

    56

    C

    65

    D

    66


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    class Top {  static int x = 1;  public Top(int y) { x *= 3; }  }  class Middle extends Top {  public Middle() { x += 1; }  public static void main(String [] args) {  Middle m = new Middle();  System.out.println(x);  }  }  结果为:()
    A

    1

    B

    2

    C

    3

    D

    编译失败


    正确答案: B
    解析: 暂无解析

  • 第13题:

    试题五(共15分)

    阅读下列说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    某咖啡店当卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如下表所示。

    【C++代码】

    include <iostream>

    include <string>

    using namespace std;

    const int ESPRESSO_PRICE = 25;

    const int DRAKROAST_PRICE = 20;

    const int MOCHA_PRICE = 10;

    const int WHIP_PRICE = 8;

    class Beverage { //饮料

    (1) :string description;

    public:

    (2) (){ return description; }

    (3) ;

    };

    class CondimentDecorator : public Beverage { //配料

    protected:

    (4) ;

    };

    class Espresso : public Beverage { //蒸馏咖啡

    public:

    Espresso () {description="Espresso"; }

    int cost(){return ESPRESSO_PRICE; }

    };

    class DarkRoast : public Beverage { //深度烘焙咖啡

    public:

    DarkRoast(){ description = "DardRoast"; }

    int cost(){ return DRAKROAST_PRICE; }

    };

    class Mocha : public CondimentDecorator { //摩卡

    public:

    Mocha(Beverage*beverage){ this->beverage=beverage; }

    string getDescription(){ return beverage->getDescription()+",Mocha"; }

    int cost(){ return MOCHA_PRICE+beverage->cost(); }

    };

    class Whip :public CondimentDecorator { //奶泡

    public:

    Whip(Beverage*beverage) { this->beverage=beverage; }

    string getDescription() {return beverage->getDescription()+",Whip"; }

    int cost() { return WHIP_PRICE+beverage->cost(); }

    };

    int main() {

    Beverage* beverage = new DarkRoast();

    beverage=new Mocha( (5) );

    beverage=new Whip( (6) );

    cout<<beverage->getDescription()<<"¥"<<beverage->cost() endl;

    return 0;

    }

    编译运行上述程序,其输出结果为:

    DarkRoast, Mocha, Whip ¥38


    正确答案:
    (1) protected
    (2) virtual string getDescription
    (3) virtual int cost()=0
    (4) Beverage*beverage
    (5) beverage
    (6) beverage

  • 第14题:

    以下程序调试结果为:class Base{Base(){int i = 100;System.out.print (i);}}public class Pri extends Base{static int i = 200;public static void main(String argv[]){Pri p = new Pri();System.out.print(i);}}

    A.编译错误

    B.200

    C.100200

    D.100


    正确答案:C

  • 第15题:

    程序:  class TestReference{  public static void main(String[] args){   int x=2;  TestReference tr = new TestReference();          System.out.print(x);          tr.change(x);  System.out.print(x);  }  public void change(int num){      num = num + 1; } }  程序运行后的输出是哪项?()  

    • A、 23
    • B、 21
    • C、 22
    • D、 编译错误

    正确答案:C

  • 第16题:

    现有:  class Cat {  Cat(int c) { System.out.print("cat" + c + " "); }  }  class SubCat extends Cat {  SubCat(int c) { super(5); System.out.print("cable "); }  SubCat() { this(4); }  public static void main(String [] args) {  SubCat s = new SubCat();  }  } 结果为:() 

    • A、cat5
    • B、cable
    • C、cable cat5
    • D、cat5 cable

    正确答案:D

  • 第17题:

    class Passer {  static final int x = 5;  public static void main(String [] args) { new Passer().go(x);  System.out.print(x);  }  void go(int x) {  System.out.print(++x);  }  }  结果是什么?() 

    • A、55
    • B、56
    • C、65
    • D、66

    正确答案:C

  • 第18题:

    现有  class Beverage {  Beverage ()  {  System.out.print ("beverage ");  }        }  class Beer extends Beverage {  public static void main{string [] args) {        Beer b = new Beer (14) ;       }  public int Beer(int x) {       this () ;  System.out.print ("beerl") ;      }  public Beer() { System.out.print("beer2 "); }     }  结果是什么?() 

    • A、beerl beverage
    • B、beer2 beverage
    • C、beverage beer2 beerl
    • D、编译失败

    正确答案:D

  • 第19题:

    单选题
    现有  class Beverage {  Beverage ()  {  System.out.print ("beverage ");  }        }  class Beer extends Beverage {  public static void main{string [] args) {        Beer b = new Beer (14) ;       }  public int Beer(int x) {       this () ;  System.out.print ("beerl") ;      }  public Beer() { System.out.print("beer2 "); }     }  结果是什么?()
    A

    beerl beverage

    B

    beer2 beverage

    C

    beverage beer2 beerl

    D

    编译失败


    正确答案: C
    解析: 暂无解析

  • 第20题:

    单选题
    现有:  class Cat {  Cat(int c) { System.out.print("cat" + c + " "); }  }  class SubCat extends Cat {  SubCat(int c) { super(5); System.out.print("cable "); }  SubCat() { this(4); }  public static void main(String [] args) {  SubCat s = new SubCat();  }  } 结果为:()
    A

    cat5

    B

    cable

    C

    cable cat5

    D

    cat5 cable


    正确答案: D
    解析: 暂无解析

  • 第21题:

    单选题
    class Flibitz {   public static void main(String [] args) {   int grop = 7;   new Flibitz().go(grop);   System.out.print(grop);   }   void go(int grop) {   if(++grop 〉 7) grop++;   System.out.print(grop);   }   }   结果为:()
    A

    77

    B

    79

    C

    97

    D

    99


    正确答案: A
    解析: 暂无解析

  • 第22题:

    单选题
    class TestReference{   public static void main(String[] args){   int x=2;   TestReference tr = new TestReference();   System.out.print(x);   tr.change(x);   System.out.print(x);  }   public void change(int num){   num = num + 1;  }  }   程序运行后的输出是哪项()?
    A

     23

    B

     21

    C

     22

    D

     编译错误


    正确答案: B
    解析: 暂无解析

  • 第23题:

    单选题
    class Beverage {   Beverage() { System.out.print("beverage "); }   }   class Beer extends Beverage {   public static void main(String [] args) {   Beer b = new Beer(14);   }   public int Beer(int x) {   this();   System.out.print("beer1 ");   }   public Beer() { System.out.print("beer2 "); }  }   结果是什么?()
    A

    beer1 beverage

    B

    beer2 beverage

    C

    beverage beer1

    D

    编译失败


    正确答案: C
    解析: 暂无解析

  • 第24题:

    单选题
    public class Base {  public static final String FOO = “foo”;  public static void main(String[] args) {  Base b = new Base();  Sub s = new Sub();  System.out.print(Base.FOO);  System.out.print(Sub.FOO);  System.out.print(b.FOO);  System.out.print(s.FOO);  System.out.print(((Base)s).FOO);  } }  class Sub extends Base {public static final String FOO=bar;}  What is the result?()
    A

     foofoofoofoofoo

    B

     foobarfoobarbar

    C

     foobarfoofoofoo

    D

     foobarfoobarfoo

    E

     barbarbarbarbar

    F

     foofoofoobarbar

    G

     foofoofoobarfoo


    正确答案: B
    解析: 暂无解析