」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 介面

介面

發佈於2024-11-08
瀏覽:425

Interfaces

  • 在物件導向程式設計中,定義類別應該做什麼是有用的,但定義類別應該做什麼是有用的。

  • 抽象方法定義了方法的簽章而不提供實現,子類別必須實作該方法。

  • Java 中的介面可讓您將應該做什麼的定義與如何做的實作完全分開。

  • 介面可以指定沒有主體的方法,該方法必須由類別實作。

  • 實作一個介面的類別的數量沒有限制,一個類別可以實作多個介面。

  • 要實作接口,類別必須提供所描述方法的實作。

  • 不同的類別可以用不同的方式實作同一個接口,但共用同一組方法。

  • 介面的使用允許多態性,因為來自不同類別的物件可以互換處理。

  • JDK 8 引入了介面定義方法預設實現的功能,允許介面指定行為。

  • 儘管有標準實現,但介面的初衷僅定義基本未改變的內容。

  • 最初的重點將放在傳統介面上,並在本章末尾討論標準方法。

存取介面名稱{
ret-type 方法名稱1(param-list);
ret-type 方法名稱2(param-list);
型態 var1 = 值;
型態 var2 = 值;
// ...
ret-type 方法名稱N(param-list);
型態 varN = 值;
}

  • 對介面的存取可以是公共的或標準的存取(包私有)。

  • 如果未包含存取修飾符,則該介面只能由其套件的成員存取。

  • 當宣告為公共時,該介面可以被任何程式碼使用,並且必須位於同名檔案中。

  • 介面名稱可以是任何有效的識別碼。

  • 在介面的傳統形式中,僅使用其傳回型別和簽章來宣告方法,本質上是抽象方法。

  • 實現此介面的類別必須提供其所有方法的實現,這些方法是隱式公共的。

  • 介面中的變數不是實例變數;它們是隱式公共的、最終的和靜態的,並且必須初始化(它們是常數)。

  • 介面定義範例:

公共介面系列{
int getNext(); // 傳回系列中的下一個數字
無效重置(); // 重新啟動
無效 setStart(int x); // 定義初始值
}

版本聲明 本文轉載於:https://dev.to/devsjavagirls/interfaces-4n4o?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 如何在顏色數組中找到最接近的顏色匹配?
    如何在顏色數組中找到最接近的顏色匹配?
    在數組 給定數組和單獨的顏色對像中,任務是確定數組中最接近的匹配。顏色距離是一個主觀的概念,並且有多種量化它的方法。 僅調節方法此方法僅關注顏色的色調,忽略飽和度和亮度。它計算候選顏色和給定顏色的色調之間的絕對差異。選擇了具有最小色調差異的候選顏色。 此方法在RGB空間中的顏色之間的直接距離。它...
    程式設計 發佈於2025-05-03
  • 在細胞編輯後,如何維護自定義的JTable細胞渲染?
    在細胞編輯後,如何維護自定義的JTable細胞渲染?
    在JTable中維護jtable單元格渲染後,在JTable中,在JTable中實現自定義單元格渲染和編輯功能可以增強用戶體驗。但是,至關重要的是要確保即使在編輯操作後也保留所需的格式。 在設置用於格式化“價格”列的“價格”列,用戶遇到的數字格式丟失的“價格”列的“價格”之後,問題在設置自定義單元...
    程式設計 發佈於2025-05-03
  • 如何僅在CSS和JavaScript中將元素固定在X軸?
    如何僅在CSS和JavaScript中將元素固定在X軸?
    在CSS中定位固定在X軸上的元素在CSS中,位置屬性允許您控制頁面上元素的定位。默認情況下,元素定位為“靜態”,這意味著它們根據頁面的流量放置。但是,您可以使用其他值更精確地定位元素。 僅在X軸上修復一個元素,您可以使用固定位置。這將鎖定元素相對於視口的位置,因此即使頁面滾動也不會水平移動。 ...
    程式設計 發佈於2025-05-03
  • 在Go語言中如何簡潔定義10的冪常量
    在Go語言中如何簡潔定義10的冪常量
    在GO 利用浮點線文字一種簡潔的方式是使用浮點文字,該方法是使用floingpoint protals。寫作1E3比寫作1000更有效。這是一個示例(67個沒有空間的字符):的文字用於未構圖的整數常數,我們可以將1000用於KB,並用KB將隨後的常量乘以KB,如下所示(77個沒有空格的字符):,作...
    程式設計 發佈於2025-05-03
  • Python讀取CSV文件UnicodeDecodeError終極解決方法
    Python讀取CSV文件UnicodeDecodeError終極解決方法
    在試圖使用已內置的CSV模塊讀取Python中時,CSV文件中的Unicode Decode Decode Decode Decode decode Error讀取,您可能會遇到錯誤的錯誤:無法解碼字節 在位置2-3中:截斷\ uxxxxxxxx逃脫當CSV文件包含特殊字符或Unicode的路徑逃...
    程式設計 發佈於2025-05-03
  • 如何在Java字符串中有效替換多個子字符串?
    如何在Java字符串中有效替換多個子字符串?
    在java 中有效地替換多個substring,需要在需要替換一個字符串中的多個substring的情況下,很容易求助於重複應用字符串的刺激力量。 However, this can be inefficient for large strings or when working with nu...
    程式設計 發佈於2025-05-03
  • PHP與C++函數重載處理的區別
    PHP與C++函數重載處理的區別
    作為經驗豐富的C開發人員脫離謎題,您可能會遇到功能超載的概念。這個概念雖然在C中普遍,但在PHP中構成了獨特的挑戰。讓我們深入研究PHP功能過載的複雜性,並探索其提供的可能性。 在PHP中理解php的方法在PHP中,函數超載的概念(如C等語言)不存在。函數簽名僅由其名稱定義,而與他們的參數列表無關...
    程式設計 發佈於2025-05-03
  • MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    MySQL中如何高效地根據兩個條件INSERT或UPDATE行?
    在兩個條件下插入或更新或更新 solution:的答案在於mysql的插入中...在重複鍵更新語法上。如果不存在匹配行或更新現有行,則此功能強大的功能可以通過插入新行來進行有效的數據操作。如果違反了唯一的密鑰約束。 實現所需的行為,該表必須具有唯一的鍵定義(在這種情況下為'名稱'...
    程式設計 發佈於2025-05-03
  • 版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    在時間戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源於遺留實現的關注,這些限制需要對當前的_timestamp功能進行特定的實現。 創建表`foo`( `Productid` int(10)unsigned not ...
    程式設計 發佈於2025-05-03
  • 如何簡化PHP中的JSON解析以獲取多維陣列?
    如何簡化PHP中的JSON解析以獲取多維陣列?
    php 試圖在PHP中解析JSON數據的JSON可能具有挑戰性,尤其是在處理多維數組時。 To simplify the process, it's recommended to parse the JSON as an array rather than an object.To do...
    程式設計 發佈於2025-05-03
  • 如何正確使用與PDO參數的查詢一樣?
    如何正確使用與PDO參數的查詢一樣?
    在pdo 中使用類似QUERIES在PDO中的Queries時,您可能會遇到類似疑問中描述的問題:此查詢也可能不會返回結果,即使$ var1和$ var2包含有效的搜索詞。錯誤在於不正確包含%符號。 通過將變量包含在$ params數組中的%符號中,您確保將%字符正確替換到查詢中。沒有此修改,PD...
    程式設計 發佈於2025-05-03
  • Python中嵌套函數與閉包的區別是什麼
    Python中嵌套函數與閉包的區別是什麼
    嵌套函數與python 在python中的嵌套函數不被考慮閉合,因為它們不符合以下要求:不訪問局部範圍scliables to incling scliables在封裝範圍外執行範圍的局部範圍。 make_printer(msg): DEF打印機(): 打印(味精) ...
    程式設計 發佈於2025-05-03
  • 如何使用Python理解有效地創建字典?
    如何使用Python理解有效地創建字典?
    在python中,詞典綜合提供了一種生成新詞典的簡潔方法。儘管它們與列表綜合相似,但存在一些顯著差異。 與問題所暗示的不同,您無法為鑰匙創建字典理解。您必須明確指定鍵和值。 For example:d = {n: n**2 for n in range(5)}This creates a dict...
    程式設計 發佈於2025-05-03
  • 為什麼我的CSS背景圖像出現?
    為什麼我的CSS背景圖像出現?
    故障排除:CSS背景圖像未出現 ,您的背景圖像儘管遵循教程說明,但您的背景圖像仍未加載。圖像和样式表位於相同的目錄中,但背景仍然是空白的白色帆布。 而不是不棄用的,您已經使用了CSS樣式: bockent {背景:封閉圖像文件名:背景圖:url(nickcage.jpg); 如果您的html,cs...
    程式設計 發佈於2025-05-03
  • CLI是什麼以及如何使用?
    CLI是什麼以及如何使用?
    命令行界面(CLI)是一個強大的基於文本的接口,允許用戶通過鍵入命令與計算機的操作系統進行交互。與圖形用戶界面(GUIS)不同,它依賴於按鈕和圖標等視覺元素,CLI提供了一種更直接,更有效的方法來執行任務,尤其是對於開發人員和系統管理員。 什麼是CLI? CLI是一種軟件機制,使用...
    程式設計 發佈於2025-05-03

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3