• 2022-06-16
    已知有如下定义:package cn.edu.ncu.chenyi;public interface Runnable{public void run();}package cn.edu.ncu.chenyi;public abstract class Animal implements Runnable{public void run();}关于上述两个代码说法正确的是?
    A: Animal编译失败,因为Animal类实现接口,不能定义为抽象类
    B: Animal编译失败,因为Animal类实现接口Runnable,方法run的方法不是抽象方法,方法体不能为空;
    C: Animal编译失败,需要在方法run中增加修饰符abstract才能修改正确,形如:package cn.edu.ncu.chenyi;public abstract class Animal implements Runnable{ public abstract void run();}
    D: Animal编译成功,代码正确;
    E: 以上说法均不正确
  • B,C

    举一反三

    内容

    • 0

      下列哪个方法可用于创建一个可运行的类() A: public class X implements Runnable{public void run() {……}} B: public class X extends Thread{public void run() {……}} C: public class X extends Thread{public int run() {……}} D: public class X implements Runnable{protected void run() {……}}

    • 1

      下列类定义中哪些是合法的抽象类的定义? A: abstract Animal{abstract void grow();} B: class abstract Animal{abstract void growl();} C: abstract class Animal{abstract void growl();} D: abstract class Animal{abstract void grow(){System.out.println("growl")};

    • 2

      下面关于抽象类定义合法的是( ) A: class Animal { abstract void grow(); } B: abstract Animal { abstract void grow(); } C: class abstract Animal { abstract void grow(); } D: abstract class Animal { abstract void grow(); }

    • 3

      对于下列代码,下列哪个叙述是正确的? abstract class Animal { int m = 100; abstract public void f(); } class Dog extends Animal { int m; } public class E { public static void main(String args[]) { System. out. println(new Dog(). m);// [代码] } } A: 程序提示编译错误(Dog不是抽象的,并且未覆盖,即重写Animal中的抽象方法f() )。 B: 编译无错误,[代码]输出0。 C: 编译无错误, [代码]输出100。 D: 编译无错误, [代码]输出null。

    • 4

      下列类定义中()是合法的抽象类的定义。 A: abstract<br/>Animal {abstract void growl();} B: abstract<br/>class Animal {<br/>abstract<br/>void growl() { System.out.println(“growl”);}<br/>} C: class<br/>abstract Animal {abstract void growl();} D: abstract<br/>class Animal {abstract void growl();}