java 抽象類與介面的姻緣

2021-09-20 23:23:34 字數 530 閱讀 3749

閱讀前請先閱讀前面的兩篇文章

繼承的目的及缺陷

繼承與抽象類的關係

inte***ce 使抽象類向前更進了一層。abstract關鍵字可以在類中建立乙個或者多個抽象方法,這些抽象方法沒有具體實現,而這些方法的實現是由此類的繼承者來建立。以上抽象類的特徵就可以引出關鍵字"inte***ce"了。因為inte***ce定義的類是乙個完全抽象的的類,它根本沒有實現任何方法,而抽象類實現了部分方法。

介面只提供形式,而未提供任何具體實現。介面是用來建立類與類之間的協議

介面的性質:介面不僅僅是乙個極度抽象類,它還可以建立乙個能被向上轉型為多種基類的型別,來實現變種的特性。

image.png

從woodwind和brass可以看到,只要實現了介面就變成了乙個普通的類,就可以按照常規方式拓展。他們中的方法 paly what不管你在前面加不加public修飾,它都必須是public訪問許可權。改為其他訪問許可權編譯器就會報錯。再向上轉型為instrument介面時,都不會有問題。它的行為都是相同的。

java抽象類與介面的區別抽象類與介面的特性是什麼

介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...

java抽象類與介面的區別

含有abstract修飾符的class 即為抽象類,abstract類不能建立例項物件,含有abstract的方法的類必須定義為abstract class abstract class 裡的方法不必是抽象的,抽象類中定義抽象方法必須放在具體子類中實現,所以呀,不能有抽象的構造方法或抽象的靜態方法,...

JAVA抽象類與介面的區別

抽象類和介面的區別 抽象類是乙個模板,類的模板,而介面是乙個標準。序號區別點 抽象類介面1定義 包含抽象方法的類就是抽象類 抽象方法和全域性常量的集合2組成 構造方法,抽象方法,普通方法 常量和抽象方法 常量,變數3使用 子類繼承抽象類 extends 子類實現介面 implements 關鍵字 a...