二十二、接口

上課視頻:

鏈接:https://pan.baidu.com/s/1TgwazoJS8K2clRe9kxJ5Fw 密碼:cbj9

鏈接:https://pan.baidu.com/s/1fTmD9opbYD9jpoXDdjK9gw 密碼:ejje

作業視頻:

鏈接:https://pan.baidu.com/s/1XryMJzLASySL1GmyPL9J6A 密碼:slan
鏈接:https://pan.baidu.com/s/1cEU2MuO9i6nQWSv_jM7O2w 密碼:3jf2

一、接口關鍵字

interface
案例:

public interface Skill {
}

二、接口中的特點。

1.接口當中所有的函數都不能有方法體
2.接中函數默認是public
3.接口中定義成員變量。默認是public static final (公共,靜態的,常量)
4.接口可以繼承接口,就會有父接口中定義的函數。
5.接口不能被實例化(不能被直接的new出對象)

三、實現類的特點。

1.實接接口的關鍵字是implements

public class LibaiHero extends People implements SkillInterface{
}

2.類實現了一個接口,就必需去實現接中當中所有定義的函數。
3.實現類可以去實現多個接口,實現多個接口用","號隔開

3.可以用接口對象去賦值子類的對象

四、繼承和接口的關系

繼承是繼承的類。
接口是要被類去實現的。

作業:

定義一個車類,四個輪子,一個發動機,速度,顏色,時速(km/h),車有一個跑的功能打印以多少時速在跑。
再寫一個寶馬車,重寫上面的所有屬性,有一個特殊功能,(GPS定位)
再寫一個特斯拉,GPS功能,自動駕駛。
再寫一個奔馳,GPS,自動駕駛,無人機導航。
跟據需求定義出上面的類和接口,并繼承或實現它。

作業2:

按要求編寫一個Java應用程序程序:
(1)定義一個接口CanFly,描述會飛的方法public void fly();
(2)分別定義類飛機和鳥,實現CanFly接口。
(3)定義一個測試類,測試飛機和鳥,在main方法中創建飛機對象和鳥對象,
再定義一個makeFly()方法,其中讓會飛的事物飛。并在main方法中調用該方法,
讓飛機和鳥起飛

作業3

建立一個工程,該工程中包含如下內容:(具體的工程名、包名、java文件名、接口文件名自定)
1.定義一個接口Ishape,該接口中包含兩個成員:周長和面積;
2.分別定義四個類,矩形類:rectangle,三角形類:Triangle,平行四邊形類:parallelogram,梯形類Echelon,這四個類都實現接口Ishape,同時各類擁有自己的私有屬性,比如說矩形的屬性長和寬,平行四邊形的屬性邊長和高,三角形的屬性三個邊長和高,梯形的屬性上底、下底、腰長和高等,給每個類添加相應的構造方法,使各私有屬性都能獲得相應的值。
3.定義一個測試類TestShape,在該類中定義一個方法,只要調用該方法就能獲得對應類型的周長和面積,然后在該類中進行相關測試。
注:類中描述的成員除上述內容外,可通過自己的想法自行添加,也可不添加。

作業4:

1.說出下面程序的執行結果:
interface InterfaceA {
String S = "good ";
void f();
}

abstract class ClassA {
abstract void g();
}

class ClassB extends ClassA implements InterfaceA {
void g() {
System.out.print(S);
}

public void f() {
System.out.print(" "+ S);
}
}
public class Test {
public static void main(String[] args) {
ClassA a = new ClassB();
InterfaceA b = new ClassB();
a.g();
b.f();
}
}
結果:________

作業5:

2、按要求編寫Java程序:

(1)編寫一個接口:InterfaceA,只含有一個方法int method(int n);

(2)編寫一個類:ClassA來實現接口InterfaceA,實現int method(int n)接口方法時,要求計算1到n的和;

(3)編寫另一個類:ClassB來實現接口InterfaceA,實現int method(int n)接口方法時,要求計算n的階乘(n!);

(4)編寫測試類E,在測試類E的main方法中使用接口回調的形式來測試實現接口的類。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • java繼承 繼承的概念 繼承是java面向對象編程技術的一塊基石,因為它允許創建分等級層次的類。 繼承就是子類繼...
    863cda997e42閱讀 687評論 0 1
  • 畢業就有一份穩定的工作,工作的城市又離家近,按道理來說我應該知足了,實際上我也滿足于現狀,可是我這個人就是很懶,工...
  • 此時的愛 就像往大海里扔巨石一樣,表明波瀾不驚,內心早已驚濤駭浪,隨之而來的卻是自碑,很低很低,低到塵埃里。丟了自...
    湛敏閱讀 129評論 1 2
  • 1. 前情提要 2016年9月,向簡書各位語言大神供奉過膝蓋以后,我覺得,作為一枚野生英語翻譯,也該到考場上檢驗一...
    進擊的劉安娜閱讀 5,338評論 23 24