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

题目
下列程序片段中,能通过编译的是( )。 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。
更多“下列程序片段中,能通过编译的是( )。 A.public abstract class Animal{ public void speak;}###S ”相关问题
  • 第1题:

    下列哪个方法可用于创建一个可运行的类? ( )

    A.public class X implements Runable {public void run(){...,.,}}

    B.public class X implements Thread {public void run(){......}}

    C.public class X implements Thread {public int run(){……}}

    D.public class X implements Runable {protected void run(){.....}}


    正确答案:A

  • 第2题:

    下列哪个选项不是InputStream类中的方法?

    A.public abstract int read()throws IOException

    B.public final void writeInt (int v)throws IOException

    C.public void close()throws IOException

    D.public int available() throws IOException


    正确答案:B
    解析:B中的public final void writeInt (int v)throws IOException方法是OutputStream类的方法。

  • 第3题:

    下列______选项不是InputStream类中的方法。

    A.public abstract int read() throws IOException

    B.public final void writeInt (int V)throws IOException

    C.public int available() throws IOException

    D.public void close() throws IOException


    正确答案:B
    解析:选项B中的publicfinalvoidwriteInt(intv)throwsIOException方法是OutputStream类中的方法。

  • 第4题:

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

    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。

  • 第5题:

    阅读下面程序 public class MyVal { public static void main(String[]args) { MyVal m=new MyVal(); m.amethod(); } public void amethod() { boolean b[]=new Boolean[5]; } } 程序编译或运行的结果是

    A.1

    B.null

    C.""

    D.编译不通过


    正确答案:D
    解析:语句boolean b[]=new Boolean[5];存在错误,类型不兼容,左边为基本类型,右边为类java.lang.Boolean。Boolean类将基本类型为boolean的值包装在一个对象中。一个Boolean类型的对象只包含一个类型为boolean的字段。

  • 第6题:

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

    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

  • 第7题:

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

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


    答案:错

  • 第8题:

    设有程序如下: 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)可以顺利通过编译。()

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


    答案:错

  • 第9题:

    现有:  interface Data {public void load();}  abstract class Info {public abstract void load();}      下列类定义中正确使用Data和Info的是哪项?() 

    • A、 public class Employee implements Info extends Data { public void load(){/*dosomething*/}     }
    • B、public class Employee extends Inf.implements Data{ public void load() {/*do something*/}     }
    • C、public class Empl.yee implements Inf extends Data{ public void Data.1oad(){* do something*/}     public void load(){/*do something*/}     }
    • D、public class Employee extends Inf implements Data  {  public void Data.1oad()  {/*do something*/)     public void info.1oad(){/*do something*/}    }

    正确答案:B

  • 第10题:

    单选题
    现有:  interface Data {public void load();}  abstract class Info {public abstract void load();}      下列类定义中正确使用Data和Info的是哪项?()
    A

     public class Employee implements Info extends Data { public void load(){/*dosomething*/}     }

    B

    public class Employee extends Inf.implements Data{ public void load() {/*do something*/}     }

    C

    public class Empl.yee implements Inf extends Data{ public void Data.1oad(){* do something*/}     public void load(){/*do something*/}     }

    D

    public class Employee extends Inf implements Data  {  public void Data.1oad()  {/*do something*/)     public void info.1oad(){/*do something*/}    }


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

  • 第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题:

    单选题
    给定如下Java程序片断:  class A{  public A (){   System.out.println("A");  } }  class B extends A{  public B(){  System.out.println("B"); }  public static void main(String[] args){    B b=new B();  } }  上述程序将()。
    A

    不能通过编译

    B

    通过编译,输出为:A B

    C

    通过编译,输出为:B

    D

    通过编译,输出为:A


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

  • 第13题:

    有如下程序:

    #include<iostream>

    using namespace std;

    class Instrument{

    public:

    virtual void Display()=0;

    };

    class Piano:public Instrument {

    public:

    void Display(){/*函数体程序略*/}

    };

    int main(){

    Instrument s;

    Instrument *p=0;

    //…;

    return 0;

    }

    下列叙述中正确的是

    A.语句“Instrument *p=0;”编译时出错

    B.语句“Instrument s;”编译时出错

    C.类Piano中的Display函数不是虚函数

    D.类Instrument是一个虚基类


    正确答案:B
    解析:Instrument为抽象类,抽象类不能用来定义对象。故本题应选B。

  • 第14题:

    有如下程序:

    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函数不会。

  • 第15题:

    运行下列程序的结果是 ( ) abstract class MineBase { abstract void amethod(); static int i; } public class Mine extends MineBase { public static void main(String argv[]){ int[]ar=new int[5]; for(i=0;i<ar.length;i++) System.out.println(ar[i]);

    A.打印5个0

    B.编译出错,数组ar[]必须初始化

    C.编译出错,Mine应声明为abstract

    D.出现IndexOutOfBoundes的例外


    正确答案:D

  • 第16题:

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

    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();

  • 第17题:

    指出下面哪一项是在抽象类中声明一个抽象方法。( )

    A.public abstract method();

    B.public abstract void method();

    C.public void abstract Method();

    D.public void method(){abstract;}


    正确答案:B
    解析:本题考查在Java抽象类中声明抽象方法的格式。在Java语言中,将abstract关键字修饰的类称为抽象类。与此相对应,用abstract关键字修饰的方法称为抽象方法。当一个类的定义完全表示抽象的概念时,它不应该被实例化为一个对象,因此不能为抽象类实例化对象,也就是说,abstract类必须被继承。与此相应,abstract方法必须被重写。抽象类中可以包含抽象方法,对抽象方法只须声明,而不需要实现具体的内容,格式为 abstract retumType MethodName([paramlist])。对于抽象方法声明格式,abstract关键字不能缺少,此外,还需要注意如下内容:①声明格式中没有{};②最后的“;”不能缺少;③可以用public 或 protected关键字来修饰。选项A错误,缺少返回类型;选项B正确;选项C错误,返回类型要跟在abstxact后面;选项D错误,抽象方法中不需要有具体的实现内容,更不需要{}。

  • 第18题:

    以下程序能顺利通过编译: public class am_I_right { public static void main(String args[]) { this.toString(); } String toString() { retur。()

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


    答案:错

  • 第19题:

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

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


    答案:对

  • 第20题:

    给定如下Java程序片断:  class A{  public A (){   System.out.println("A");  } }  class B extends A{  public B(){  System.out.println("B"); }  public static void main(String[] args){    B b=new B();  } }  上述程序将()。 

    • A、不能通过编译
    • B、通过编译,输出为:A B
    • C、通过编译,输出为:B
    • D、通过编译,输出为:A

    正确答案:B

  • 第21题:

    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

  • 第22题:

    多选题
    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
    解析: 暂无解析

  • 第23题:

    单选题
    现有:  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
    解析: 暂无解析