# 2019-2020-3 《Java 程序設計》第五周學習總結
2019-2020-3 《Java 程序設計》第五周知識總結
1.使用interface來定義一個接口。接口定義同類的定義類似,也是分為接口的聲明和接口體,其中接口體由常量定義和方法定義兩部分組成。定義接口的基本格式如下:
[修飾符] interface 接口名 [extends 父接口名列表]{
[public] [static] [final] 常量;
[public] [abstract] 方法;
}
修飾符:可選,用於指定接口的訪問權限,可選值為public。如果省略則使用默認的訪問權限。
接口名:必選參數,用於指定接口的名稱,接口名必須是合法的Java標識符。一般情況下,要求首字母大寫。
extends 父接口名列表:可選參數,用於指定要定義的接口繼承於哪個父接口。當使用extends關鍵字時,父接口名為必選參數。
註意:
與Java的類文件一樣,接口文件的文件名必須與接口名相同。
2.實現接口
接口在定義後,就可以在類中實現該接口。在類中實現接口可以使用關鍵字implements,其基本格式如下:
[修飾符] class <類名> [extends 父類名] [implements 接口列表]{
}
修飾符:可選參數,用於指定類的訪問權限,可選值為public、abstract和final。
類名:必選參數,用於指定類的名稱,類名必須是合法的Java標識符。一般情況下,要求首字母大寫。
extends 父類名:可選參數,用於指定要定義的類繼承於哪個父類。當使用extends關鍵字時,父類名為必選參數。
在類中實現接口時,方法的名字、返回值類型、參數的個數及類型必須與接口中的完全一致,並且必須實現接口中的所有方法。
3.在類的繼承中,只能做單重繼承,而實現接口時,一次則可以實現多個接口,每個接口間使用逗號“,”分隔。這時就可能出現常量或方法名沖突的情況,解決該問題時,如果常量沖突,則需要明確指定常量的接口,這可以通過“接口名.常量”實現。如果出現方法沖突時,則只要實現一個方法就可以了。
4.接口可以直接作為參數使用,接口與abstract類的用法不盡相同,要學會面向接口編程。
2019-2020-3 《Java 程序設計》第五周學習總結
1.通過第五周的學習,利用教材和老師在藍墨雲上的一些教學視頻以及通過老師和同學的博客以及一些課外資料,充分學習了第六章的內容,學習的內容有:接口、實現接口、接口的UML圖、接口回調、理解接口、接口與多態、接口參數、abstract類與接口的比較、面向接口編程。通過這周的學習,主要學習了接口,認識了abstract類與接口的區別,學會了面向接口編程,發現使用接口可以更方便快捷的編寫程序。
2.通過手打六章代碼,對語法有一定的幫助,並在調試完代碼後上傳至碼雲倉庫,並提交腳本。
3.代碼運行截圖:
例子1:
例子2:
例子3:
例子4:
例子5:
例子6:
腳本截圖:
註:我的碼雲鏈接:https://gitee.com/zzm-zcc/zhang_zhi_min。
2019-2020-3 《Java 程序設計》第五周練習題生疏題、錯題總結
1、下列關於實現接口的說法,正確的是(ABC)
A .一個類需要在類聲明中使用關鍵字implements聲明該類實現一個或多個接口。
B .如果一個非抽象類實現了某個接口,那麽這個類必須重寫這個接口中的所有方法。
C .類重寫接口方法時,方法的訪問權限一定要明顯地用public修飾。
D .子類既可以重寫接口中的方法,也可以直接擁有接口中的方法。
2、如果有以下程序片段:
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)
A .編譯失敗
B .顯示“做一些事”
C .發生ClassCastException
D .執行時不顯示任何信息
3、下列關於接口的說法,正確的是(BCD)
A .接口體中包含常量、變量和抽象方法三部分。
B .使用關鍵字interface來定義一個接口。
C .接口體中所有抽象方法的訪問權限一定都是public。
D .接口體中只有抽象的方法,沒有普通方法。
4、下列說法錯誤的是(C)
A .public接口可以被任何一個類實現。
B .友好接口可以被與該接口在同一包中的類實現。
C .可以通過關鍵字implements聲明一個接口是另一個接口的子接口。
D .子接口將繼承父接口中的全部方法和常量。
5、下列四個接口中,錯誤的是(AB)
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
# 2019-2020-3 《Java 程序設計》第五周學習總結