一、下列关于接口的说法,正确的是
A .接口体中包含常量、变量和抽象方法三部分。
B .使用关键字interface来定义一个接口。
C .接口体中全部抽象方法的访问权限必定都是public。
D .接口体中只有抽象的方法,没有普通方法。
答案:BCD
解析:6.1节。A项:接口体中包含常量(没有变量)和抽象方法两部分。设计
二、接口体中全部的常量的访问权限都是public,并且都是static常量。
A .true
B .false
答案:A
解析:P145。code
三、下列关于实现接口的说法,正确的是
A .一个类须要在类声明中使用关键字implements声明该类实现一个或多个接口。
B .若是一个非抽象类实现了某个接口,那么这个类必须重写这个接口中的全部方法。
C .类重写接口方法时,方法的访问权限必定要明显地用public修饰。
D .子类既能够重写接口中的方法,也能够直接拥有接口中的方法。
答案:ABC
解析:6.2节。D项:只有抽象类才能够直接拥有接口中的方法,不然必须所有重写。对象
四、下列说法错误的是
A .public接口能够被任何一个类实现。
B .友好接口能够被与该接口在同一包中的类实现。
C .能够经过关键字implements声明一个接口是另外一个接口的子接口。
D .子接口将继承父接口中的所有方法和常量。
答案:C
解析:经过关键字extends声明一个接口是另外一个接口的子接口。继承
五、下列说法正确的是
A .UML经过使用实线链接类和它的接口。
B .经过import语句能够引入包中的接口。
C .接口能够调用类中的其余的非接口方法。
D .接口属于引用型变量。
答案:BD
解析:P148-150。A项:虚线。C项:接口没法调用类中的其余的非接口方法。接口
六、下列关于接口的说法,错误的是
A .接口没有提供构造方法。
B .接口中的方法默认使用public、abstract修饰。
C .接口中的属性默认使用public、static、final修饰。
D .接口不容许多继承。
答案:D
解析:接口能够多继承。get
七、接口可使用new运算符直接产生对象。
A .true
B .false
答案:B
解析:接口不能用new运算符直接产生对象,必须利用其特性设计新的类,再用新类来建立对象与抽象类同样,接口要使用也必须经过子类,子类经过implements关键字实现接口。io
八、下列说法正确的是
A .一个类最多能够实现两个接口。
B .若是一个抽象类实现某个接口,那么它必需要重写接口中的所有方法。
C .若是一个非抽象类实现某个接口,那么它能够只重写接口中的部分方法。
D .容许接口中只有一个抽象方法。
答案:D编译
九、下列四个接口中,错误的是ast
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
答案:ABclass
十、将下列(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
十一、下列哪一个代码替换程序中的【代码】不会致使编译错误?
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
十二、XX是一个引用型变量,System.out.println(XX)等价于System.out.println(XX.toString()).
A .true
B .false
答案:A
1三、接口中 int STOP等价于public static final int STOP.
A .true
B .false
答案:A
1四、public void someMethod(int i)和public int someMethod()是方法重载。
A .true
B .false
答案:A
1五、若是有如下程序片断:
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
1六、若是有如下程序片断
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
1七、若是有如下程序片断
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
1八、若是有如下程序片断
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
1九、若是有如下程序片断
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是书上页码,详情请看书)