zoukankan      html  css  js  c++  java
  • 第五周测试总结分析

    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是书上页码,详情请看书)

  • 相关阅读:
    js调用.net后台事件,和后台调用前台等方法以及js调用服务器控件的方法
    .net反编译工具reflector5.0 的介绍及使用
    box flex 弹性盒模型
    TransactionScope使用说明
    您的主机中的软件中止了一个已建立的连接。
    Android中Handler
    转载 JavaScript的24条实用建议
    repeater中的checkbox 的方法以及datalist中放了一个按牛!为什么我按该按牛时候不能触发ItemCommand事件的主要原因
    asp.net cookies用法
    常用的数据分页技术总结
  • 原文地址:https://www.cnblogs.com/cjy-123/p/10778266.html
Copyright © 2011-2022 走看看