導航:首頁 > 編程語言 > java一個類實現多個介面

java一個類實現多個介面

發布時間:2022-05-22 06:10:40

A. java中一個介面可以繼承幾個介面嗎

可以,介面是常量值和方法定義的集合,是一種特殊的抽象類,可以繼承多個介面。例如:Interface3 Extends Interface0, Interface1, interface……。

java介面解析如下:

在Java中,定義一個介面的形式如下:

[public] interface InterfaceName {

}

介面中可以含有變數和方法。但是要注意,介面中的變數會被隱式地指定為public static final變數,而方法會被隱式地指定為public abstract方法且只能是public abstract方法,並且介面中所有的方法不能有具體的實現、

也就是說,介面中的方法必須都是抽象方法。

要讓一個類遵循某組特地的介面需要使用implements關鍵字,具體格式如下:

class ClassName implements Interface1,Interface2,[....]{

}

可以看出,允許一個類遵循多個特定的介面。如果一個非抽象類遵循了某個介面,就必須實現該介面中的所有方法。對於遵循某個介面的抽象類,可以不實現該介面中的抽象方法。

(1)java一個類實現多個介面擴展閱讀:

java繼承介面的特性:

1)一個類如果實現了一個借口,則要實現該介面的所有方法。

2)方法的名字、返回類型、參數必須與介面中完全一致。如果方法的返回類型不是void,則方法體必須至少有一條return語句。

3)因為介面的方法默認是public類型的,所以在實現的時候一定要用public來修飾(否則默認為protected類型,縮小了方法的使用范圍)。

B. java中 一個類可以同時實現兩個沒有任何關系的介面嗎

不一定,抽象類實現某個介面,可以不實現所有介面的方法,可以由它的子類實現。
比如
1
2
3
4
5
6
public
interface
a
{//定義一個介面
public
void
show();//定義一個介面方法
}
public
abstract
class
aextend
implements
a{//抽象類實現介面a,但可以不實現show方法,由子類再去實現
}

C. java中抽象類可以實現多個介面嗎

介面與介面之間沒有實現關系,介面與介面之間是繼承關系,介面之間的繼承存在多繼承。
介面與類之間是實現關系,一個類可以實現多個介面,一個類只能繼承一個父類

D. java中介面可以實現多個介面嗎

首先,java中的介面別說實現多個介面了,一個介面也不能實現。因為介面中的方法是沒有方法體的,所以不能實現任何介面。
其次,一個介面可以繼承多個介面。因為類如果可以多繼承,實例化時,如果要調用父類的方法,如果兩個一樣,根本就不知道該調用那個父類的方法; 但是介面就不一樣了,因為介面繼承多個介面,就算多個介面有相同的方法,但是最終實現介面的類只能實現一個方法且@Override一個方法,所以調用時就不會有問題了。
至於抽象類和普通類一樣,因為抽象類中可以有普通的方法(帶有方法體),也可以有抽象方法,所以抽象類可以實現多個介面。

E. 抽象類在Java語言中表示的是一種繼承關系,一個類只能使用一次繼承.但是一個類卻可以實現多個介面.

A選項,對。java中類之間只能夠實現單繼承,即就是說一個類只能有一個父類,但允許多層繼承,即就是一個類有一個父類,該父類還可以有自己的一個父類。舉個例子:假如A能夠繼承類B和C,但當B,C中有相同的方法時,讓A來調用,那麼,A到底調用的父類中誰的方法呢?所以,java中類只能夠實現單繼承。
但,類對於介面的話,類可以實現多個介面,即使不同介面有相同的抽象方法,子類默認也只會實現一個。
B選項,對。抽象類可以沒有抽象方法。但是有抽象方法的類一定是抽象類。
C選項,不對。不對是因為前半句,實現抽象類和介面的如果是非抽象類的話,該非抽象類就必須實現其中所有的抽象方法,而不是所有方法,因為抽象類還可以有其他方法體跟實現。

但假如實現抽象類和介面的是抽象類的話,那麼抽象類就可以不用實現所有方法(所有方法包括父類或介面的所有抽象方法)(意思就是,該抽象類需要哪個抽象方法了就去實現,不需要了就不用去實現)。
後半句正確,介面和抽象類中的抽象方法只有聲明(即定義方法)不能有實現,這些抽象方法存在目的是讓子類重寫。
因為介面中只能定義抽象方法,故而C選項說的介面中的方法都不能被實現,是對的。
但抽象類可以有非抽象的方法和其方法的具體的方法,比如抽象類的構造方法(只是該構造方法不能被new實例化)。
D選項,對。解釋下D選項,介面中需要定義成員變數時,該成員變數必須定義為常量,然而定義常量那就必須用final來修飾,再者,該常量對於實現介面的所有實現類只能有一份,故而必須用靜態的static來修飾,再加上介面必須要具體類來實現才有意義,所以必須是public來修飾。並且,在定義該成員變數時必須進行直接賦初始值!如:public static final int age = 10;而不是像只由final修飾的成員變數那樣,即可以直接賦值,也可以在構造方法裡面賦值。同時,既然被final修飾了,那麼該變數已經成為最終變數了,那麼該值當然是不可變的,也是不可以被重新定義的了。
E選項,對。介面必須要具體類來實現才有意義,所以必須是用public來修飾介面中的抽象方法的,同時,省略不寫public的時候,默認還是public修飾符。
同時,實現介面的子類,在定義重寫子類方法的訪問級別不能低於父類相應方法的訪問級別。

F. java中介面可以實現多個介面嗎

同學,你的表述有點問題。java中,介面之間,只存在繼承,因為介面中沒有具體的方法體,所以是可以多繼承的。
interface A extends B,C{}

實現一般是說介面和類的關系之間,介面和類之間可以實現多實現。
class A implements B,C {} 需要實現B,C中全部的方法,如果沒有實現,需要將類A聲明成抽象的。

G. java中一個類能有多個介面嗎

沒有錯,JAVA中一個類可以實現多個介面,介面間用逗號閣開,而且必須實現介面中的每個抽象方法。

H. java中一個類 怎樣實現2個介面有相同的方法名

1、首先雙擊打開eclipse開發工具,新建一個Java項目,並創建java package。

I. java類實現多個介面有什麼好處

java和C#一樣,同樣只能有一個基類,但可以有多個實現。

具有多個實現的一個好處就是,當實現多個介面時,如果兩個介面有同樣的方法,那麼實現一次就可以了。

interface A
{
public void show();
}

interface B
{
public void show();
}

class C implements A,B
{
public void show()
{
System.out.println("測試");
}
}

class InterfaceDemo
{
public static void main(String[] args)
{
C c=new C();
c.show();
System.out.println("Hello World!");
}
}

由於介面沒有方法體,所以介面可以實現多繼承,例如:

interface AA
{

}
interface BB
{
}

interface CC extends AA,BB
{
}

class InterfaceExtentsDemo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}

以上代碼可以實現編譯,說明介面可以繼承多個介面。為什麼不能實現類的多繼承,主要是防止多個類有相同的方法名,然而方法體不一樣,子類就比較難選擇了。所以java和C#

不支持類的多繼承

J. JAVA:一個類實現多個介面

//A介面interface A{

public int getA();

}

//B介面

interface B{

public int getB();

}

//實現了某個介面必須實現其全部的方法

public class ImpAB implements A,B{

public int getA() {

return 0;

}

public int getB() {

return 0;

}

}

(10)java一個類實現多個介面擴展閱讀:

功能

在Java語言規范中,一個方法的特徵僅包括方法的名字,參數的數目和種類,而不包括方法的返回類型,參數的名字以及所拋出來的異常。

在Java編譯器檢查方法的重載時,會根據這些條件判斷兩個方法是否是重載方法。但在Java編譯器檢查方法的置換時,則會進一步檢查兩個方法(分處超類型和子類型)的返還類型和拋出的異常是否相同。

介面實現和類繼承的規則不同,為了數據的安全,繼承時一個類只有一個直接父類,也就是單繼承,但是一個類可以實現多個介面,介面彌補了類的不能多繼承缺點,繼承和介面的雙重設計既保持了類的數據安全也變相實現了多繼承。

Java介面本身沒有任何實現,因為Java介面不涉及表象,而只描述public行為,所以Java介面比Java抽象類更抽象化。但是介面不是類,不能使用new 運算符實例化一個介面。

Java介面的方法只能是抽象的和公開的,Java介面不能有構造器,Java介面可以有public、static和final屬性。即介面中的屬性可以定義為 public static final int value=5。

介面把方法的特徵和方法的實現分割開來。這種分割體現在介面常常代表一個角色,它包裝與該角色相關的操作和屬性,而實現這個介面的類便是扮演這個角色的演員。一個角色由不同的演員來演,而不同的演員之間除了扮演一個共同的角色之外,並不要求其它的共同之處。

閱讀全文

與java一個類實現多個介面相關的資料

熱點內容
貴陽螺桿壓縮冷凝機組組成 瀏覽:115
掃描製作pdf 瀏覽:515
2016奇駿車機如何安裝app 瀏覽:764
phpvc9x64 瀏覽:73
蜜語星球解壓 瀏覽:476
c語言編譯器怎麼打不開 瀏覽:818
海印程序員 瀏覽:648
為什麼華為手機找不到伺服器 瀏覽:664
pdf增減 瀏覽:608
雲伺服器怎麼公網架設網站 瀏覽:91
pythonrequests慢 瀏覽:140
excel保存沒有pdf 瀏覽:922
冰箱壓縮機管囗示意圖 瀏覽:497
許振民編譯局 瀏覽:625
雙網路加什麼伺服器好用 瀏覽:211
linux命令中文 瀏覽:839
python怎麼做物聯網 瀏覽:731
app有什麼推薦嗎 瀏覽:79
自學程序員能不能面試工作 瀏覽:879
有錢人的解壓方法 瀏覽:84