java常量放在介面中是出於什麼目的

2021-03-04 08:55:57 字數 2985 閱讀 6511

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

讓實現這個介面的類來呼叫,相當於乙個公共的量一樣,不管誰來呼叫,都用的這一套的量

這樣,資料容易統一,介面裡面的資料以後有調整,也方便,不用所有的實現類都改動,而是改這個介面的就可以。

2樓:匿名使用者

不能同時繼承多個類,但是可以同時實現多個介面

java 重寫介面中的方法,為什麼必須在前加public呢?

3樓:育知同創教育

java中介面方法不管是否加了修飾

符都是public。因此在實現的時候修飾範圍不能縮小,只能是public。

比如:public inte***ce apublic class a1 implements apublic void show1()}

4樓:

public 公共的意思,可以被其他的外部的使用

5樓:匿名使用者

介面的方法是抽象的,所以即使你在介面中的抽象方法不寫修飾符,也是public的。

而實現類有個原則, 宣告的型別不能比介面小。也就是介面定義public,那麼實現類必須》=public,所以只能是public。

ps: 異常也是如此,實現類中方法異常範圍要比介面丟擲異常的範圍大。

例如介面throws exception ,那麼子類只能丟擲exception

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

6樓:青鳥中關村專家

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

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

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

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、抽象類是物件的抽象,然而介面是一種行為規範。

7樓:匿名使用者

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

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

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

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

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

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

8樓:極品飛刀進化版

抽象類可以不用

普通類必須

9樓:匿名使用者

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

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

是的,需要全部實現

介面的特點:

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

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

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

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

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

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

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

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

Java中抽象類和介面的區別,java中抽象類和介面的區別

簡單來說,介面是公開的,裡面不能有私有的方法或變數,是用於讓別人使用的,而抽象類是可以有私有方法或私有變數的,另外,實現介面的一定要實現介面裡定義的所有方法,而實現抽象類可以有選擇地重寫需要用到的方法,一般的應用裡,最頂級的是介面,然後是抽象類實現介面,最後才到具體類實現。還有,介面可以實現多重繼承...

在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 ...

在java中,設計圖形使用者介面需要經歷哪幾個基本步驟

1,分析業務需求,理順業務邏輯 2,根據業務需要考慮 使用何種容器 jframe frame jwindow.需要的數量.3,每個容器 視窗 使用元件 4.元件使用何種布局方式 邊界布局,絕對布局,網格布局.排列在容器 視窗 中 5.元件中需要響應那些事件,把事件響應 寫好,然後繫結到元件上 add...