第五周测试总结分析

1、下列关于接口的说法,正确的是
A .接口体中包含常量、变量和抽象方法三部分。
B .使用关键字interface来定义一个接口。
C .接口体中所有抽象方法的访问权限一定都是public。
D .接口体中只有抽象的方法,没有普通方法。
答案:BCD
解析:6.1节。A项:接口体中包含常量(没有变量)和抽象方法两部分。

2、接口体中所有的常量的访问权限都是public,而且都是static常量。
A .true
B .false
答案:A
解析:P145。

3、下列关于实现接口的说法,正确的是
A .一个类需要在类声明中使用关键字implements声明该类实现一个或多个接口。
B .如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的所有方法。
C .类重写接口方法时,方法的访问权限一定要明显地用public修饰。
D .子类既可以重写接口中的方法,也可以直接拥有接口中的方法。
答案:ABC
解析:6.2节。D项:只有抽象类才可以直接拥有接口中的方法,否则必须全部重写。

4、下列说法错误的是
A .public接口可以被任何一个类实现。
B .友好接口可以被与该接口在同一包中的类实现。
C .可以通过关键字implements声明一个接口是另一个接口的子接口。
D .子接口将继承父接口中的全部方法和常量。
答案:C
解析:通过关键字extends声明一个接口是另一个接口的子接口。

5、下列说法正确的是
A .UML通过使用实线连接类和它的接口。
B .通过import语句可以引入包中的接口。
C .接口可以调用类中的其他的非接口方法。
D .接口属于引用型变量。
答案:BD
解析:P148-150。A项:虚线。C项:接口无法调用类中的其他的非接口方法。

6、下列关于接口的说法,错误的是
A .接口没有提供构造方法。
B .接口中的方法默认使用public、abstract修饰。
C .接口中的属性默认使用public、static、final修饰。
D .接口不允许多继承。
答案:D
解析:接口可以多继承。

7、接口可以使用new运算符直接产生对象。
A .true
B .false
答案:B
解析:接口不能用new运算符直接产生对象,必须利用其特性设计新的类,再用新类来创建对象与抽象类一样,接口要使用也必须通过子类,子类通过implements关键字实现接口。

8、下列说法正确的是
A .一个类最多可以实现两个接口。
B .如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法。
C .如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法。
D .允许接口中只有一个抽象方法。
答案:D

9、下列四个接口中,错误的是

interface Takecare {

    protected void speakHello();          //A

    public abstract static void cry();        //B

    int f();                            //C

    abstract float g();                   //D

}

A .A
B .B
C .C
D .D
答案:AB

10、将下列(A,B,C,D)哪个代码替换下列程序中的【代码】不会导致编译错误?

interface Com {

    int M = 200;

    int f();

}

class ImpCom implements Com {

   【代码】

}

A .public int f(){return 100+M;}
B .int f(){return 100;}
C .public double f(){return 2.6;}
D .public abstract int f();
答案:B

11、下列哪个代码替换程序中的【代码】不会导致编译错误?

interface A {

    abstract int getNumber();

}

class B implements A{

   【代码】

}

A .protected int getNumber() {return 100;}
B .int getNumber() {return 100;}
C .public int getNumber() {return 100;}
D .int getNumber() {return ‘a’+‘b’}
答案:C

12、XX是一个引用型变量,System.out.println(XX)等价于System.out.println(XX.toString()).
A .true
B .false
答案:A

13、接口中 int STOP等价于public static final int STOP.
A .true
B .false
答案:A

14、public void someMethod(int i)和public int someMethod()是方法重载。
A .true
B .false
答案:A

15、如果有以下程序片段:

interface Some{

protected void dosome ();

}

class SomeImpl implements Some {

public void dosome(){

System.out.println("做一些事");

}

}

public class Main{

public static void main (String [] args) {

Some s= new SomeImpl();

s.dosome ();

}

}

以下描述正确的是
A .编译失败
B .显示“做一些事”
C .发生ClassCastException
D .执行时不显示任何信息
答案:A

16、如果有以下程序片段

interface Some{

 int x = 10;

}



public class Main{

 public static void main (String [] args) {

  System.out.println(Some.x);

 }

}

以下描述正确的是
A .编译失败
B .显示10
C .必须创建Some实例才能存取x
D .显示0
答案:B

17、如果有以下程序片段

interface Some{

 void dosome ();

}

class SomeImpl implements Some {

 void dosome(){

   System.out.println("做一些事");

 }

}

public class Main {

 public static void main (String [] args) {

  Some s= new SomeImpl();

  s.dosome ();

 }

}

以下描述正确的是
A .编译失败
B .显示“做一些事”
C .发生ClassCastException
D .执行时不显示任何信息
答案:A

18、如果有以下程序片段

interface Some{

 void dosome ();

}

class SomeImpl implements Some {

 public void dosome(){

   System.out.println("做一些事");

 }

}

public class Main {

 public static void main (String [] args) {

  Some s= new SomeImpl();

  s.dosome ();

 }

}

以下描述正确的是
A .编译失败
B .显示“做一些事”
C .发生ClassCastException
D .执行时不显示任何信息
答案:B

19、如果有以下程序片段

interface Some{

 void dosome ();

}

abstract class AbstractSome implements Some {

 public abstract void doSome();

 public void doService() {

  System.out.println("做一些服务");

 }

}

public class FinallyDemo {

 public static void main (String [] args) {

  AbstractSome s = new AbstractSome();

  s.doService();

 }

}

以下描述正确的是
A .编译失败
B .显示“做一些服务”
C .发生ClassCastException
D .执行时不显示任何信息
答案:A

20、如果有以下程序片段

interface Some {

 protected static final int x = 10;

}

public class Main {

 public static void main(String [] args) {

  System.out.println("Some.x");

 }

}

以下描述正确的是:
A .编译失败
B .显示10
C .必须创建Some实例才能存取x
D .显示0
答案:A
(说明:P是书上页码,详情请看书)

posted @ 2019-04-27 12:01  20175218陈敬勇  阅读(1008)  评论(0编辑  收藏  举报