itgle.com

编译以下代码,将出现什么情况?()abstract class Shape{ abstract void draw();}Class Square extends Shape{ }A. Square类和Shape类都可以成功编译B. Square类无法编译,但Shape类可以编译C. 类无法编译,但Square类可以编译D. Square类和Shape类都无法编译

题目

编译以下代码,将出现什么情况?()

abstract class Shape

{ abstract void draw();}

Class Square extends Shape{ }

A. Square类和Shape类都可以成功编译

B. Square类无法编译,但Shape类可以编译

C. 类无法编译,但Square类可以编译

D. Square类和Shape类都无法编译


相似考题
更多“编译以下代码,将出现什么情况?()abstract class Shape{ abstract void draw();}Class Square ”相关问题
  • 第1题:

    下面的代码中有什么错误吗?_______

    using System;

    class A

    {

    public virtual void F(){

    Console.WriteLine("A.F");

    }

    }

    abstract class B:A

    {

    public abstract override void F();


    正确答案:
    答:abstract override 是不可以一起修饰.
            }                                            // new public abstract void F();

  • 第2题:

    试题六(共15分)

    阅读以下说明、图和Java代码,填补Java代码中的空缺(1)~(6),将解答写在答题纸的

    对应栏内。

    【说明】

    已知对某几何图形绘制工具进行类建模的结果如图6.1所示,其中Shape为抽象(abstract)类,表示通用图形,Box(矩形)、Ellipse(椭圆)和Line(线条)继承(extends)了Shape类,其中,Circle表示圆(即特殊的椭圆)。

    下面的Java代码用于实现图 6-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:

    Ellipse

    Circle

    Ellipse

    C

    E

    【Java代码】

    (1) class Shape{

    public Shape(String name){

    this.name= name;

    }

    (2) void paint();

    String getName(){

    retum this.name;

    }

    final String name;

    };

    //Box 和Line类似下面 Ellipse,其代码略

    class Ellipse (3) {

    public Ellipse(String name){

    super(name);

    System.out.println("Ellipse");

    }

    Void paintO{∥绘制现状示意代码

    System.out.println(getName0);

    }

    };

    class Circle (4) {

    public Circle(String name){

    super(name);

    System.out.println("Circle");

    }

    };

    class Diagram{

    private Shape shapes[]= new Shape[2];

    public void drawAShape(Shape shape){

    shape.paint();

    }

    void erase A Shape(Shape shape){

    ∥删除形状,代码略

    }

    void drawShapes(){

    shapes*0+= new Circle("C”);

    shapes[l]= new Ellipse("E");

    for (int i=O; i<2;++i) {

    drawAShap(shapes[i]);//绘制形状

    }

    }

    void close(){

    for (int i=0;i<2; ++1) { []关闭图,删除所绘制图形

    (5) ;

    }

    }

    public static void main(String[] args){

    Diagram diagram= (6) ;

    diagram.drawShapes();

    diagram.close();

    }

    }


    正确答案:
    试题六参考答案(共 15分)
    (1) abstract 或public abstract (2 分)
    (2) abstract 或public abstract 或protected abstract (2 分)
    (3) extends Shape (2分)
    (4) extends Ellipse (3 分)
    (5) erase A Shape (shapes[i]) (3 分)
    (6) new Diagram() (3分)

  • 第3题:

    以下语句能顺利通过编译: abstract class class1 { } public class mainClass { public static void main(String args[]) { class1 cs1=new class1(); } } 。()

    此题为判断题(对,错)。


    答案:错

  • 第4题:

    以下语句可以通过编译: abstract class am_I_abstract { abstract void method1(); }。()

    此题为判断题(对,错)。


    答案:对

  • 第5题:

    阅读以下说明和Java程序,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
    【说明】
    以下Java代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分接口、类及其关系如图5-1所示。




    【Java代码】
    interface?DrawCircle?{? //绘制圆形 public(1) ;}class?RedCircle?implements?DrawCircle?{? ?//绘制红色圆形???????public?void?drawCircle(int?radius,intx,?int?y)??{????????????System.out.println("Drawing?Circle[red,radius:"?+?radius?+",x:"?+?x?+?",y:"?+y+?"]");???????}}class?GreenCircle?implements?DrawCircle?{????//绘制绿色圆形??????public?void?drawCircle(int?radius,?int?x,int?y)?{???????????System.out.println("Drawing?Circle[green,radius:"?+radius+",x:?"?+x+?",y:?"?+y+?"]");??????}}abstract?class?Shape?{????//形状? protected? ? (2)???;? ? public?Shape(DrawCircle?drawCircle)?{? ?this.drawCircle=?drawCircle;? ? ? public?abstract?void?draw();}class?Circle?extends?Shape?{? //圆形? ?private?int?x,y,radius;? public?Circle(int?x,int?y,intradius,DrawCircle?drawCircle)?{? ?(3)???;? this.x?=?x;? ? ? this.y?=?y;? ?this.radius?=radius;? }? ? ?public?void?draw()?{? ? drawCircle.? ?(4)? ?;? ? ? }}public?class?DrawCircleMain?{? public?static?void?main(String[]?args)?{? Shape?redCircle=new?Circle(?100,100,10,? (5) );//绘制红色圆形? Shape?greenCircle=new?Circle(200,200,10,(6) );//绘制绿色圆形? ?redCircle.draw(); greenCircle.draw();? ?}}


    答案:
    解析:
    (1)void drawCircle (int radius,int x,int y)
    (2)DrawCircle drawCircle
    (3)super.drawcircle=drawcircle
    (4)drawCircle(radius,x,y)
    (5)new RedCircle()
    (6)new GreenCircle()【解析】
    第一空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle (int radius,int x,int y)。
    第二空可以根据后面this drawCircle=drawCircle判断,这里应该有一个drawCircle属性,因此应该填)DrawCircle drawCircle。
    第三空这里用super,用super. drawcircle来引用父类的成员。
    第四空调用drawCircle(radius,x,y)方法。
    第五、六空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。

  • 第6题:

    Which declaration prevents creating a subclass of an outer class?()

    • A、 Static class FooBar{}
    • B、 Private class FooBar{}
    • C、 Abstract public class FooBar{}
    • D、 Final public class FooBar{}
    • E、 Final abstract class FooBar{}

    正确答案:D

  • 第7题:

    下列哪个类的声明是正确的()

    • A、abstract final class HI{}
    • B、abstract private move(){}
    • C、protected private number;
    • D、public abstract class Car{}

    正确答案:D

  • 第8题:

    单选题
    Which declaration prevents creating a subclass of an outer class?()
    A

     Static class FooBar{}

    B

     Private class FooBar{}

    C

     Abstract public class FooBar{}

    D

     Final public class FooBar{}

    E

     Final abstract class FooBar{}


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

  • 第9题:

    单选题
    1. interface I { void go(); }   2.   3. abstract class A implements I { }  4.   5. class C extends A {   6. void go(){ }   7. }   结果是什么?()
    A

    代码通过编译

    B

    由于多个错误导致编译失败

    C

    由于第1行的错误导致编译失败

    D

    由于第6行的错误导致编译失败


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

  • 第10题:

    多选题
    public abstract class Shape {  private int x;  private int y;  public abstract void draw();  public void setAnchor(int x, int y) {  this.x = x;  this.y = y;  }  }  Which two classes use the Shape class correctly?()
    A

    public class Circle implements Shape { private int radius; }

    B

    public abstract class Circle extends Shape { private int radius; }

    C

    public class Circle extends Shape { private int radius; public void draw(); }

    D

    public abstract class Circle implements Shape { private int radius; public void draw(); }

    E

    public class Circle extends Shape { private int radius;public void draw() {/* code here */} }

    F

    public abstract class Circle implements Shape { private int radius;public void draw() { / code here */ } }


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

  • 第11题:

    单选题
    现有:  1. interface Animal {  2. void eat();  3. }  4.  5. // insert code here  6.  7. public class HouseCat extends Feline {  8. public void eat() { }  9. }   和五个声明:  abstract class Feline implements Animal { }  abstract class Feline implements Animal { void eat(); }  abstract class Feline implements Animal { public void eat(); }  abstract class Feline implements Animal { public void eat() { } }  abstract class Feline implements Animal { abstract public void eat(); }  分别插入到第5行,有几个可以通过编译?()
    A

    0

    B

    1

    C

    2

    D

    3


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

  • 第12题:

    单选题
    现有:  interface Animal {       void eat () ;       }       //insert code here       public class HouseCat extends Feline {       public void eat() { }       }  和五个申明  abstract class Feline implements Animal { }  abstract  class  Feline  implements  Animal  {  void eat () ;  }  abstract class Feline implements Animal { public void eat();}  abstract class Feline implements Animal { public void eat() {}  }  abstract class Feline implements Animal { abstract public void eat();} 结果为:()
    A

    1

    B

    2

    C

    3

    D

    4


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

  • 第13题:

    下列程序片段中,能通过编译的是( )。 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。

  • 第14题:

    以下程序的编译和运行结果为?

    abstract class Base{

    abstract public void myfunc();

    public void another(){

    System.out.println("Another method");

    }

    }

    public class Abs extends Base{

    public static void main(String argv[]){

    Abs a = new Abs();

    A.amethod();

    }

    public void myfunc(){

    System.out.println("My Func");

    }

    public void amethod(){

    myfunc();

    }

    }

    A.输出结果为 My Func

    B.编译指示 Base 类中无抽象方法

    C.编译通过,但运行时指示Base 类中无抽象方法

    D.编译指示Base 类中的myfunc方法无方法体,没谁会喜欢该方法。


    正确答案:A

  • 第15题:

    以下语句可以通过编译: class am_I_abstract { abstract void method1(); } 。()

    此题为判断题(对,错)。


    答案:错

  • 第16题:

    设有程序如下: abstract class absclass { abstract void method1(); } class conclass extends absclass { public void method1() { System.out.println("子类");} } public class mainclass { public static void main(String args[]) { absclass ac1=new absclass(); //语句1 absclass ac2=new conclass(); //语句2 ac2.method1(); //语句3 } } 则main()方法中的第一条语句(即语句1)可以顺利通过编译。()

    此题为判断题(对,错)。


    答案:错

  • 第17题:

    在Java语言中,如果你有下面的类定义:  Abstract class Shape{ Abstract void draw(); }  class Square extendeds Shape{} 如果你试图编译上面的代码会发生()。 

    • A、一切成功编译
    • B、Shape可以编译,Square不能编译
    • C、Square可以编译,Shape不能编译
    • D、Shape,Square都不能编译

    正确答案:B

  • 第18题:

    现有:  interface  I  {  void go();  }      abstract class A implements I { }      class C extends A  {     void go(){ }     }  结果是什么?()   

    • A、代码通过编译
    • B、由于第1行的错误导致编译失败
    • C、由于笫3行的错误导致编译失败
    • D、由于第6行的错误导致编译失败

    正确答案:D

  • 第19题:

    下列是抽象类的声明的是()

    • A、  abstract class figure{    }
    • B、  class  abstract figure{    }
    • C、  seald class figure{    }
    • D、  static class figure{  }

    正确答案:A

  • 第20题:

    单选题
    在Java语言中,如果你有下面的类定义:   abstract class Shape {  abstract void draw();    }    Class Square extends Shape {}  如果你试图编译上面的代码会发生()。
    A

    一切成功编译

    B

    Shape可以编译,Square不能编译

    C

    Square可以编译,Shape不能编译

    D

    Shape,Square都不能编译


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

  • 第21题:

    单选题
    现有:  interface  I  {  void go();  }      abstract class A implements I { }      class C extends A  {     void go(){ }     }  结果是什么?()
    A

    代码通过编译

    B

    由于第1行的错误导致编译失败

    C

    由于笫3行的错误导致编译失败

    D

    由于第6行的错误导致编译失败


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

  • 第22题:

    单选题
    public abstract class Shape {  int x;  int y;  public abstract void draw();  public void setAnchor(int x, int y) {  this.x = x;  this.y = y;  }  }  and a class Circle that extends and fully implements the Shape class. Which is correct?()
    A

     Shape s = new Shape(); s.setAnchor(10,10); s.draw();

    B

     Circle c = new Shape(); c.setAnchor(10,10); c.draw();

    C

     Shape s = new Circle(); s.setAnchor(10,10); s.draw();

    D

     Shape s = new Circle(); s->setAnchor(10,10); s->draw();

    E

     Circle c = new Circle(); c.Shape.setAnchor(10,10); c.Shape.draw();


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

  • 第23题:

    多选题
    abstract class A {  abstract void al();  void a2() { }  }  class B extends A {  void a1() { }  void a2() { }  }  class C extends B { void c1() { } }  and:  A x = new B(); C y = new C(); A z = new C();  Which four are valid examples of polymorphic method calls?()
    A

    x.a2();

    B

    z.a2();

    C

    z.c1();

    D

    z.a1();

    E

    y.c1();

    F

    x.a1();


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