天天看點

關鍵字之interface(接口)

interface是抽象方法和常量的集合

從本質上來說,interface是一種特殊的抽象類,他存在着抽象方法(不用在方法前加abstract)和常量(final修飾的變量),但是卻不能定義變量和實作方法

public interface UserDao  {

    final String USER_NAME="username";

    public void delete(Long uid);

}

 接口的特點

1)多個無關的類可以使用同一個接口

2)一個類可以實作多個接口(類似多繼承,java中隻有單繼承)

3)接口中被定義的常量被預設是  public static final  修飾,你不寫上去,他也是認為你是被這個修飾的

4)接口中的抽象方法被預設為public  也隻能是public

5)你如果增加了接口的方法,那你糟了,實作了這個接口的類(implements)全都沒法運作了,要全改過和接口對上才行.

 接口和抽象類對比

接口不能實作方法,抽象類可以

一個類可以有無數個接口,但抽象類隻能有一個     接口是implements      抽象類是繼承的(extends)

抽象類增加了新方法沒事,不能是abstract方法  繼承了抽象類的類美滋滋的就用起來了,  接口增加了新方法,你要去implements的類修改,增加.

抽象類可以有變量,常量     接口隻能有常量(就算你寫的是變量,該變量字首預設為  public static final)