3 回答

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個贊
接口是最終靜態(tài)字段和抽象方法的集合(Newly Java 8增加了對在接口中使用靜態(tài)方法的支持)。
接口是在我們知道必須完成某項(xiàng)任務(wù)的情況下進(jìn)行的,但是如何完成它可能會有所不同。換句話說,我們可以說我們實(shí)現(xiàn)了接口,以便我們的類開始以特定的方式運(yùn)行。
讓我用一個例子來解釋,我們都知道動物是什么。像獅子是動物,猴子是動物,大象是動物,牛是動物,等等。現(xiàn)在我們知道所有動物都吃東西睡覺了。但每只動物吃東西或睡覺的方式可能不同。像獅子一樣,通過狩獵其他動物來吃東西,就像母牛吃草一樣。但兩人都吃。所以我們可以有這樣的偽代碼,
interface Animal { public void eat(); public void sleep(); }class Lion implements Animal { public void eat() { // Lion's way to eat } public void sleep(){ // Lion's way to sleep }}class Monkey implements Animal { public void eat() { // Monkey's way to eat } public void sleep() { // Monkey's way to sleep }}
根據(jù)上面提到的偽代碼,任何能夠進(jìn)食或睡覺的東西都會被稱為動物,或者我們可以說所有動物都必須吃飯和睡覺,但吃飯和睡覺的方式取決于動物。
在接口的情況下,我們只繼承行為,而不是類繼承的實(shí)際代碼。
Q1。由于接口只有抽象方法(沒有代碼)所以我們怎么說如果我們實(shí)現(xiàn)任何接口那么它是繼承?我們沒有使用它的代碼。
實(shí)現(xiàn)接口是另一種繼承。它與類的繼承類似,因?yàn)槔^承子類獲取了從基類重用的實(shí)際代碼。
Q2。如果實(shí)現(xiàn)接口不是繼承,那么如何使用接口來實(shí)現(xiàn)多重繼承?
據(jù)說是因?yàn)橐粋€類可以實(shí)現(xiàn)多個接口。但我們需要了解這種繼承與類的繼承不同。
Q3。無論如何使用Interfaces有什么好處?他們沒有任何代碼。我們需要在我們實(shí)現(xiàn)它的所有類中反復(fù)編寫代碼。
實(shí)現(xiàn)一個接口會強(qiáng)制它必須覆蓋所有抽象方法的類。
添加回答
舉報(bào)