1. 程式人生 > 其它 >介面詳解

介面詳解

介面

基本介紹

  • 介面就是給出一些沒有實現的方法,封裝到一起,到某個類需要使用的時候,再根據具體情況把這些方法寫出來
  • 語法
interface 介面名{
    屬性
    抽象方法    
}
class 類名 implementd 介面{
    自己屬性;
    自己方法;
    必須實現介面的抽象方法
}
  • 介面是更加抽象的抽象的類,抽象類裡的方法可以有方法體,接口裡的所有方法都沒有方法體
  • 介面體現了程式設計的多型和高內聚低耦合的設計思想
  • jdk8以後介面類可以有靜態方法,預設方法,也就是說介面中可以有方法的具體實現

注意事項

  1. 介面不能被例項化
  2. 介面中所有方法是public方法,介面中抽象方法,可以不用abstract修飾
  3. 一個普通類實現介面就必須將該介面的所有方法都實現
  4. 抽象類實現介面,可以不用實現介面的方法
  5. 一個類同時可以實現多個介面
  6. 介面中的屬性,只能是final的,而且是public static final 修飾符
  7. 介面中的屬性訪問方式: 介面名.屬性名
  8. 介面不能繼承其他的類,但是可以繼承多個別的介面
  9. 介面的修飾符只能是public 和預設,和類的修飾符是一樣的

實現介面與繼承類

  • 當子類繼承了父類,就自動的擁有父類的功能
  • 如果子類需要擴充套件功能,可以通過實現介面的方式擴充套件
  • 實現介面是對Java單繼承機制的一種補充
  • 繼承的價值主要在於解決程式碼的複用性和可維護性
  • 介面的價值主要在於設計好各種規範,讓其他類去實現這些方法
  • 介面比繼承更加靈活
  • 介面在一定程度上實現解耦,即介面規範性+動態繫結機制

介面的多型特性

  • 父類引用指向子類物件