① java里繼承多介面和實現多介面的區別是什麼
1,java類可以一次繼承多個介面,用implements 介面1,介面2
2,如果是介面繼承介面的話也可以用extends,介面是多繼承的,java類才是單繼承
3,介面繼承介面可以不實現父介面中的方法,可以聲明自己的新方法,
4,類實現介面時,一定要實現介面中聲明的方法,如果介面中沒有定義抽象方法則不需要,但是要注意,類實現了一個介面A,如果B是A的父介面,且B中有抽象方法,則該類必須實現A和B中的所有抽象方法
5,抽象方法只能定義在抽象類中,抽象類實現介面,可以不實現介面中的抽象方法
總結:其實你提的問題可以說不是問題,沒有可比性啊!繼承介面是說的介面來繼承介面,是介面與介面間的
實現介面是類實現介面,是java類與介面間的,根本沒什麼好比較的,就像重載和重寫一樣,一個類可以實現多個介面,一個介面可以繼承自多個介面,也可以被多個介面繼承,你說的根本就不是一個東西。呵呵~
② java中介面實現多繼承是怎麼實現的
在java當中,每個類(類java.lang.Object除外)有且僅有一個直接父類(下面有注釋),不能直接繼承多個父類,但是可以直接繼承多個介面,介面之間用逗號隔開(注意繼承介面時要實現介面中的方法)
注釋:類的定義格式如下
【類修飾詞列表】 class 類名 【extends 父類名】 【implements 介面名稱列表】
{
類體
}
①其中【】中的內容不是必須寫的(在定義類的時候不用寫【】,直接寫當中的內容)
②如果含有"extends 父類名",則由該選項指定的父類是當前定義類的直接父類,否則當前定義類的直接父類是類java.lang.Object
③繼承關系具有傳遞性:例如類A有父類B,類B擁有父類C,則C也可以稱為是A的父類(不是直接父類)
③ 在 java中,用一個類同時繼承一個類和實現一個介面,怎麼寫這個類的
首先,需要了解一下java關於類繼承和介面實現的基礎理論知識,如下:
類繼承:繼承是面向對象最顯著的一個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的數據屬性和行為,並能擴展新的能力。Java繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。
介面實現:介面實現在java中是一種特殊繼承方式,介面在定義後,就可以在類中實現該介面。在類中實現介面可以使用關鍵字implements,其基本格式如下:
[修飾符] class <類名> [implements 介面列表]{
}
然後,需要創建父類和定義介面,如下:
創建父類:
classBird{
intlegnum=2;
voidegg(){
};
}
定義介面:
interfaceFlyanimal{
voidfly();
}
最後,可以創建一個類來繼承上面的父類和實現上面的介面,如下:
{
publicvoidfly(){
System.out.println("pigeoncanfly");
}
publicvoidegg(){
System.out.println("pigeoncanlayeggs");
}
}