上課視頻:
鏈接: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方法中使用接口回調的形式來測試實現接口的類。