您好,登錄后才能下訂單哦!
接口:
官方的含義是---->java接口是一系列方法的聲明,是一些方法特征的集合
疑問:
那為什么不用抽象類呢?把他們共有的方法集合起來放在一個抽象類里面,同樣可以調用哇,但是反過來想一想如果這些方法,不是同一個類,就比如飛這個方法,飛機有飛這個方法,蚊子有飛這個方法,如果讓他連同時繼承擁有飛這個抽象類里面,是不符合單一職責原則的,所以我們可以提供一個飛的接口,飛機,蚊子來實現這個接口,那么飛機和蚊子就擁有飛的能力啦,這是我對接口的理解。
這是我對接口知識的基本總結
舉一個案例希望大家能理解接口!
現在有一個需求,有一個門door類,有一個防盜門AntiTheDoor類,有一個鐵門IronDoor類,因為防盜門和鐵門都有門的屬性,所以二者繼承門door類
他們都有一個功能,就是上鎖與開鎖,還有一個防盜門獨有的功能,就是貓眼CatEye功能,貓眼功能是防盜門獨有的方法,所以應當把貓眼看成一個接口,防盜門可以實現它,這樣我們用代碼怎么來詮釋呢(定義與實現)
父類door
接口:只寫應該具有的功能
public interface CatEye {
/**
* 在使用接口的所有類中,需要實現接口中所有的方法
* 他們有這個功能,但是具體的實現放是不一樣的,需要實現他的類在里面重新定義它新的生命,就比如,普通的防盜門里的貓眼就是簡單的看
* 但是,還有一些貓眼的看有掃描的功能,不同的需求放在不同的類里面來具體的實現
*/
void look();
}
防盜門是門door的子類,繼承父類開門關門的方法,同時擁有上鎖,與貓眼的功能
相比于防盜門,鐵門只有上鎖的功能
測試類:
運行結果:
一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以有具體不同的能力。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。