一、下列關於接口的說法,正確的是
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是書上頁碼,詳情請看書)