抽象類和接口

抽象類

特色: 
1.抽象類中能夠構造方法 
2.抽象類中能夠存在普通屬性,方法,靜態屬性和方法。 
3.抽象類中能夠存在抽象方法。 
4.若是一個類中有一個抽象方法,那麼當前類必定是抽象類;抽象類中不必定有抽象方法。 
5.抽象類中的抽象方法,須要有子類實現,若是子類不實現,則子類也須要定義爲抽象的。 
6,抽象類不能被實例化,抽象類和抽象方法必須被abstract修飾spa

關鍵字使用注意: 
抽象類中的抽象方法(其前有abstract修飾)不能用private、static、synchronized、native訪問修飾符修飾。3d

接口

1.在接口中只有方法的聲明,沒有方法體。 
2.在接口中只有常量,由於定義的變量,在編譯的時候都會默認加上public static final 
3.在接口中的方法,永遠都被public來修飾。 
4.接口中沒有構造方法,也不能實例化接口的對象。(因此接口不能繼承類) 
5.接口能夠實現多繼承 
6.接口中定義的方法都須要有實現類來實現,若是實現類不能實現接口中的全部方法則實現類定義爲抽象類。 
7,接口能夠繼承接口,用extends對象

在Java8中,容許在接口中包含帶有具體實現的方法blog

  • 使用default修飾,這類方法就是默認方法。
  • 默認方法的衝突
  • 接口中的默認方法和繼承的父類方法衝突了,
    • 那麼這個時候會選擇父類中的方法,而不是接口中的默認方法。
    • 這個也叫作類優先原則,它能夠保證與Java7的兼容性。
相關文章
相關標籤/搜索