3 回答

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
接口是最終靜態(tài)字段和抽象方法的集合(Newly Java 8增加了對(duì)在接口中使用靜態(tài)方法的支持)。
接口是在我們知道必須完成某項(xiàng)任務(wù)的情況下進(jìn)行的,但是如何完成它可能會(huì)有所不同。換句話說(shuō),我們可以說(shuō)我們實(shí)現(xiàn)了接口,以便我們的類(lèi)開(kāi)始以特定的方式運(yùn)行。
讓我用一個(gè)例子來(lái)解釋?zhuān)覀兌贾绖?dòng)物是什么。像獅子是動(dòng)物,猴子是動(dòng)物,大象是動(dòng)物,牛是動(dòng)物,等等?,F(xiàn)在我們知道所有動(dòng)物都吃東西睡覺(jué)了。但每只動(dòng)物吃東西或睡覺(jué)的方式可能不同。像獅子一樣,通過(guò)狩獵其他動(dòng)物來(lái)吃東西,就像母牛吃草一樣。但兩人都吃。所以我們可以有這樣的偽代碼,
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)食或睡覺(jué)的東西都會(huì)被稱(chēng)為動(dòng)物,或者我們可以說(shuō)所有動(dòng)物都必須吃飯和睡覺(jué),但吃飯和睡覺(jué)的方式取決于動(dòng)物。
在接口的情況下,我們只繼承行為,而不是類(lèi)繼承的實(shí)際代碼。
Q1。由于接口只有抽象方法(沒(méi)有代碼)所以我們?cè)趺凑f(shuō)如果我們實(shí)現(xiàn)任何接口那么它是繼承?我們沒(méi)有使用它的代碼。
實(shí)現(xiàn)接口是另一種繼承。它與類(lèi)的繼承類(lèi)似,因?yàn)槔^承子類(lèi)獲取了從基類(lèi)重用的實(shí)際代碼。
Q2。如果實(shí)現(xiàn)接口不是繼承,那么如何使用接口來(lái)實(shí)現(xiàn)多重繼承?
據(jù)說(shuō)是因?yàn)橐粋€(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口。但我們需要了解這種繼承與類(lèi)的繼承不同。
Q3。無(wú)論如何使用Interfaces有什么好處?他們沒(méi)有任何代碼。我們需要在我們實(shí)現(xiàn)它的所有類(lèi)中反復(fù)編寫(xiě)代碼。
實(shí)現(xiàn)一個(gè)接口會(huì)強(qiáng)制它必須覆蓋所有抽象方法的類(lèi)。
- 3 回答
- 0 關(guān)注
- 524 瀏覽
添加回答
舉報(bào)