當類實現介面時,它必須實現該介面中的所有方法。判斷

2021-03-19 18:25:20 字數 5577 閱讀 4001

1樓:匿名使用者

對的必須實現該介面中的所有方法。當然 你也可以自定義介面中沒有的方法。

下次提問說清楚是什麼。。

java

java裡實現一個介面的類必須要實現介面裡的所有方法嗎?

2樓:匿名使用者

實現介面或繼承抽象類的子類必須實現介面的所有方法或抽象類的所有抽象方法。

實現方案:

java中 一個類實現了某介面 則必須實現該介面中的所有方法麼?

3樓:匿名使用者

不一定,抽象類實現某個介面,可以不實現所有介面的方法,可以由它的子類實現。

比如public inte***ce a

public abstract class aextend implements a

4樓:匿名使用者

如果定義為抽象類,就可以實現部分方法

5樓:匿名使用者

是的,不實現會報錯了!!用myeclips 是會提示的!

6樓:o雨落流星

是的。如果不需要時間實現那麼你寫介面的意義在哪兒?

7樓:al無解

分兩種情況 實現類如果事抽象類就不用實現介面裡面的所有方法,第二 實現的介面事函式式介面

java中,一個類實現某個介面,必須重寫介面中的所有方法嗎???

8樓:青鳥中關村專家

不一定,關鍵要看子類是否是抽象類。

如果子類是非抽象類,則必須實現介面中的所有方法;

如果子類是抽象類,則可以不實現介面中的所有方法,因為抽象類中允許有抽象方法的存在!

1、抽象類定義

抽象類往往用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。通常在程式設計語句中用 abstract 修飾的類是抽象類。在c++中,含有純虛擬函式的類稱為抽象類,它不能生成物件;在java中,含有抽象方法的類稱為抽象類,同樣不能生成物件。

抽象類是不完整的,它只能用作基類。在物件導向方法中,抽象類主要用來進行型別隱藏和充當全域性變數的角色。

2、抽象類特點

1)抽象類不能例項化。

2)抽象類可以包含抽象方法和抽象訪問器。

3)不能用 sealed 修飾符修飾抽象類,因為這兩個修飾符的含義是相反的。 採用 sealed 修飾符的類無法繼承,而 abstract 修飾符要求對類進行繼承。

4)從抽象類派生的非抽象類必須包括繼承的所有抽象方法和抽象訪問器的實際實現。

3、與具體類的比較

1)抽象類不能直接例項化,並且對抽象類使用 new 運算子會導致編譯時錯誤。雖然一些變數和值在編譯時的型別可以是抽象的,但是這樣的變數和值必須或者為 null,或者含有對非抽象類的例項的引用(此非抽象類是從抽象類派生的)。

2)允許(但不要求)抽象類包含抽象成員。

3)抽象類不能被密封。

4、與介面的比較

1)相同點

a、不能例項化;

b、包含未實現的方法宣告;

c、派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員(不僅是方法包括其他成員)

2)不同點

a、類可以實現無限個介面,但僅能從一個抽象(或任何其他型別)類繼承,從抽象類派生的類仍可實現介面,從而得出介面是用來解決多重繼承問題的。

b、抽象類當中可以存在非抽象的方法,可介面不能,且它裡面的方法只是一個宣告必須用public來修飾沒有具體實現的方法。

c、抽象類中的成員變數可以被不同的修飾符來修飾,可介面中的成員變數預設的都是靜態常量(static final)。

d、抽象類是物件的抽象,然而介面是一種行為規範。

9樓:匿名使用者

樓主,先宣告一點,javax.swing基本是過時的,屬於前臺的工作,現在前臺基本都是定製的,java程式設計只要關注後臺就可以,不過你問的介面問題倒是很重要的,給你解釋以下,java中類和介面的設計完全體現了java語言的一些設計思想,比如物件導向,繼承、多型等

1 介面的設計解決了java只能單繼承的缺點,可以實現多個介面來實現java的多繼承

2 實現某個介面必須覆寫其中的所有方法,當然也可以是一個空的實現(方法體為空沒有任何作用)

3 樓主也許會問了空實現有什麼用呢,這就是java的特殊設計,通常的是介面在最上面,下面會有一個這個介面的實現類,有時候這個實現類也是一個空的實現,沒有任何方作用!!!程式設計人員只需要實現那個空的方法,覆寫其中自己需要方法的就可以了~~

為什麼要這樣做呢?原因就是介面是一個抽象的概念,與具體的底層、實現都無關,打個比方,現在的網路程式設計都是與http協議相關的,如果將來有新的協議出現就只要實現這個介面就可以了,完全不用做任何修改就可以把新的協議容納進來

總結一下,介面就是一個物體的抽象,規定了這個物體所有的行為方法,與具體的實現無關,這正體現了抽象的概念~~

10樓:極品飛刀進化版

抽象類可以不用

普通類必須

11樓:匿名使用者

哈哈,這是api文件的問題,你沒看過java原始碼,原始碼中實現的方法比這多,只是api沒寫全。要學會看原始碼!!!!

12樓:深圳海楓科技****

是的,需要全部實現

介面的特點:

1、用 inte***ce 來定義。

2、介面中的所有成員變數都預設是由public static final修飾的。

3、介面中的所有方法都預設是由public abstract修飾的。介面沒有構造方法。

4、實現介面的類中必須提供介面中所有方法的具體實現內容。

5、多個無關的類可以實現同一個介面

6、一個類可以實現多個無關的介面

7、與繼承關係類似,介面與實現類之間存在多型性8、介面也可以繼承另一個介面,使用extends關鍵字。

9、下圖是我們的教案中的擷取

java:一個類實現某個介面的時候可不可以只實現這個介面中的部分方法,還是必須實現介面中的全部方法呢

13樓:匿名使用者

必須實現全部方法 但是你可以這樣做

你先用一個類實現這個介面 但是在這個類中方法都是空的{}這樣 然後你可以繼承這個類 用新的方法來覆蓋那些空的方法 在gui程式設計中有一個介面卡的概念 就是這樣的

14樓:青鳥中關村專家

不一定,關鍵要看子類是否是抽象類。

如果子類是非抽象類,則必須實現介面中的

所有方法;

如果子類是抽象類,則可以不實現介面中的所有方法,因為抽象類中允許有抽象方法的存在!

1、抽象類定義

抽象類往往用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。通常在程式設計語句中用 abstract 修飾的類是抽象類。在c++中,含有純虛擬函式的類稱為抽象類,它不能生成物件;在java中,含有抽象方法的類稱為抽象類,同樣不能生成物件。

抽象類是不完整的,它只能用作基類。在物件導向方法中,抽象類主要用來進行型別隱藏和充當全域性變數的角色。

2、抽象類特點

1)抽象類不能例項化。

2)抽象類可以包含抽象方法和抽象訪問器。

3)不能用 sealed 修飾符修飾抽象類,因為這兩個修飾符的含義是相反的。 採用 sealed 修飾符的類無法繼承,而 abstract 修飾符要求對類進行繼承。

4)從抽象類派生的非抽象類必須包括繼承的所有抽象方法和抽象訪問器的實際實現。

3、與具體類的比較

1)抽象類不能直接例項化,並且對抽象類使用 new 運算子會導致編譯時錯誤。雖然一些變數和值在編譯時的型別可以是抽象的,但是這樣的變數和值必須或者為 null,或者含有對非抽象類的例項的引用(此非抽象類是從抽象類派生的)。

2)允許(但不要求)抽象類包含抽象成員。

3)抽象類不能被密封。

4、與介面的比較

1)相同點

a、不能例項化;

b、包含未實現的方法宣告;

c、派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員(不僅是方法包括其他成員)

2)不同點

a、類可以實現無限個介面,但僅能從一個抽象(或任何其他型別)類繼承,從抽象類派生的類仍可實現介面,從而得出介面是用來解決多重繼承問題的。

b、抽象類當中可以存在非抽象的方法,可介面不能,且它裡面的方法只是一個宣告必須用public來修飾沒有具體實現的方法。

c、抽象類中的成員變數可以被不同的修飾符來修飾,可介面中的成員變數預設的都是靜態常量(static final)。

d、抽象類是物件的抽象,然而介面是一種行為規範。

15樓:匿名使用者

必須實現介面中的全部方法!

實現一個介面,則在類中一定要實現介面中的所有方法.對嗎

16樓:老子有點悲劇

如果子類是非抽象類,則必須實現介面中的所有方法;

如果子類是抽象類,則可以不實現介面中的所有方法,因為抽象類中允許有抽象方法的存在!

1、抽象類定義

抽象類往往用來表徵對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。通常在程式設計語句中用 abstract 修飾的類是抽象類。在c++中,含有純虛擬函式的類稱為抽象類,它不能生成物件;在java中,含有抽象方法的類稱為抽象類,同樣不能生成物件。

抽象類是不完整的,它只能用作基類。在物件導向方法中,抽象類主要用來進行型別隱藏和充當全域性變數的角色。

2、抽象類特點

1)抽象類不能例項化。

2)抽象類可以包含抽象方法和抽象訪問器。

3)不能用 sealed 修飾符修飾抽象類,因為這兩個修飾符的含義是相反的。 採用 sealed 修飾符的類無法繼承,而 abstract 修飾符要求對類進行繼承。

4)從抽象類派生的非抽象類必須包括繼承的所有抽象方法和抽象訪問器的實際實現。

3、與具體類的比較

1)抽象類不能直接例項化,並且對抽象類使用 new 運算子會導致編譯時錯誤。雖然一些變數和值在編譯時的型別可以是抽象的,但是這樣的變數和值必須或者為 null,或者含有對非抽象類的例項的引用(此非抽象類是從抽象類派生的)。

2)允許(但不要求)抽象類包含抽象成員。

3)抽象類不能被密封。

4、與介面的比較

1)相同點

a、不能例項化;

b、包含未實現的方法宣告;

c、派生類必須實現未實現的方法,抽象類是抽象方法,介面則是所有成員(不僅是方法包括其他成員)

java中,一個類實現某個介面,必須重寫介面中的所有方法嗎

17樓:自殘的廉頗

抽象類實現某個介面,抄可以不實現所bai有介面的方法,du可以由它的子類實現。而普通類即非

抽象zhi類則必須dao實現介面裡的全部方法。

同樣地,再來講述一下介面:

1 介面的設計解決了java只能單繼承的缺點,可以實現多個介面來實現java的多繼承。

2 實現某個介面必須覆寫其中的所有方法,當然也可以是一個空的實現(方法體為空沒有任何作用),但是這個類必須是非抽象類,抽象類如上文。

在Java介面A的實現類B中如何呼叫A中的變數

1.num有歧義 不表示哪一個num 2.會3.介面b的實現類c吧 因為介面中的變數都是public static 的,用b.num試試 1 介面中你寫實現在繼承類?繼承下來當然報錯 the field num is ambiguous 2 介面中的變數 1 會得到但是前提是隻繼承b不能中間加個a ...

類宣告類實現分別是啥意思,類宣告時,類名前面加巨集名是什麼意思

c 中類是物件的抽象,是使用者自己定義的資料型別,如果程式中要用到類型別,必須要宣告 通過宣告實現一定功能,就是類實現,暈,類宣告就是在標頭檔案中宣告這個類的存在。類實現就是在原始檔中定義這個函式的函式體。類的宣告 就是包含了具體的成員變數還有方法。類的宣告 一般叫類的前向宣告 不是一個完整的類,現...

java中,實現介面的方法的過程是重寫嗎

重寫1 必須是在繼承裡,2 方法名 返回值型別 引數個數和引數型別 都必須相同3 派生類重寫的方法的訪問許可權不能低於基類的許可權首先介面就不是一個類,實現一個介面也不是繼承關係。所以不能稱之為重寫。只能稱之為實現。是重寫 更準確的應該說是實現 解釋 介面類中定義的都是抽象方法,沒有實現,所以當有介...