千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java

如何定義接口,接口中能定義哪些方法
訪問修飾符 interface 接口名{
??數(shù)據(jù)類型 變量名 = 變量的值; //接口中定義的變量都是公開的靜態(tài)常量
??返回值類型 方法名(參數(shù)列表); //接口中定義的方法都是公開的抽象方法
??default 返回值類型 方法名(參數(shù)列表){// 接口中定義的默認方法都是公開的 => JDK1.8
????//代碼塊
????[return 返回值;]
??}
??static 返回值類型 方法名(參數(shù)列表){// 接口中定義的靜態(tài)方法都是公開的 => JDK1.8
????//代碼塊
????[return 返回值;]
??}
??private 返回值類型 方法名(參數(shù)列表){// 接口中定義的默認方法都是公開的 => JDK1.9
????//代碼塊
????[return 返回值;]
??}
}
抽象類和接口的區(qū)別
a. 抽象類是一個類,所以抽象類只能單繼承,而接口可以多繼承。一個類在繼承抽象類的同時還可以實現(xiàn)一個或多個接口
b. 抽象類擁有構(gòu)造方法,而接口沒有
c. 抽象類中可以定義成員變量和受保護的、受包保護的成員方法,而接口中定義的變量都是公開的靜態(tài)常量,接口中定義的方法都是公開的抽象方法。
d. 接口主要用于功能性方面的描述,而抽象類更加注重的是抽象事物的描述。
多態(tài)
繼承、接口就是多態(tài)的具體體現(xiàn)方式。多態(tài)主要體現(xiàn)在類別、做事的方式上面。多態(tài)是面向?qū)ο蟮娜筇卣髦唬鄳B(tài)分為編譯時多態(tài)和運行時多態(tài)兩大類。
編譯時多態(tài)
方法重載在編譯時就已經(jīng)確定如何調(diào)用,因此方法重載屬于編譯時多態(tài)。
運行時多態(tài)
Java虛擬機(JVM)為每個變量中引用的對象調(diào)用適當(dāng)?shù)姆椒ā?它不會調(diào)用由變量類型定義的方法。 這種行為稱為虛擬方法調(diào)用,它說明了Java語言中重要的多態(tài)性特征的一個方面。