為什么要使用接口,多重繼承與接口,接口的好處?我對這件事情仍然有些困惑。我到現在所發現的是(這里已經提出了類似的問題,但我還有其他一些觀點。)接口是僅抽象方法和最終字段的集合。Java中沒有多重繼承。接口可用于在Java中實現多重繼承。繼承的一個優點是我們可以在派生類中使用基類代碼而無需再次編寫它??赡苓@是繼承在那里最重要的事情。現在..Q1。由于接口只有抽象方法(沒有代碼)所以我們怎么說如果我們實現任何接口那么它是繼承?我們沒有使用它的代碼。Q2。如果實現接口不是繼承,那么如何使用接口來實現多重繼承?Q3。無論如何使用Interfaces有什么好處?他們沒有任何代碼。我們需要在我們實現它的所有類中反復編寫代碼。那么為什么要制作接口呢?注意:我找到了一個接口有用的案例。它的一個例子就像在Runnable接口中我們有public void run()方法,我們在其中定義線程的功能,并且內置編碼,該方法將作為單獨的線程運行。所以我們只需要編寫線程中的代碼,Rest是預定義的。但是這個東西也可以用抽象類和所有東西來實現。那么使用接口的確切好處是什么?我們使用Interfaces實現了多重繼承嗎?
3 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
接口是最終靜態字段和抽象方法的集合(Newly Java 8增加了對在接口中使用靜態方法的支持)。
接口是在我們知道必須完成某項任務的情況下進行的,但是如何完成它可能會有所不同。換句話說,我們可以說我們實現了接口,以便我們的類開始以特定的方式運行。
讓我用一個例子來解釋,我們都知道動物是什么。像獅子是動物,猴子是動物,大象是動物,牛是動物,等等?,F在我們知道所有動物都吃東西睡覺了。但每只動物吃東西或睡覺的方式可能不同。像獅子一樣,通過狩獵其他動物來吃東西,就像母牛吃草一樣。但兩人都吃。所以我們可以有這樣的偽代碼,
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 }}
根據上面提到的偽代碼,任何能夠進食或睡覺的東西都會被稱為動物,或者我們可以說所有動物都必須吃飯和睡覺,但吃飯和睡覺的方式取決于動物。
在接口的情況下,我們只繼承行為,而不是類繼承的實際代碼。
Q1。由于接口只有抽象方法(沒有代碼)所以我們怎么說如果我們實現任何接口那么它是繼承?我們沒有使用它的代碼。
實現接口是另一種繼承。它與類的繼承類似,因為繼承子類獲取了從基類重用的實際代碼。
Q2。如果實現接口不是繼承,那么如何使用接口來實現多重繼承?
據說是因為一個類可以實現多個接口。但我們需要了解這種繼承與類的繼承不同。
Q3。無論如何使用Interfaces有什么好處?他們沒有任何代碼。我們需要在我們實現它的所有類中反復編寫代碼。
實現一個接口會強制它必須覆蓋所有抽象方法的類。
添加回答
舉報
0/150
提交
取消