Android基礎之Java接口



1、接口(interface)
1.1 初識接口
咱們都知道建立一個類特別簡單,一樣,咱們建立接口也如此,只需將class替換成interface便可。ide

/**
  * 建立一個接口:錢
  */
public interface IMonery{

    /**
     * 印鈔操做
     * @param number    數量
     */
    void printMonery(int number);

    /**
     * 花錢
     */
    void spendMonery();
}

就是如此簡單,建立的接口,實質上就是一個徹底的抽象類(被abstract修飾的類)。
因此咱們所定義的方法名、形式參數名和返回類型都是能夠自行定義,可是不容許含有方法體,而且Java規定實現(使用implements)了該接口後,就必須同時重寫該接口中所定義的全部方法。以下:.net

/**
  * 新建類: 你
  * 而且實現了IMonery接口
  */
public class Yous implements IMonery{

    @Override
    public void printMonery(int number) {

    }

    @Override
    public void spendMonery() {

    }
}

這樣,你就輕鬆具有了印鈔和花錢的異能了,哈哈。code

1.2 接口與抽象類
上面我提到了接口實質上就是一個徹底被抽象的類。在這裏咱們小聊一會抽象類。
被abstract修飾的類就叫抽象類
被abstract修飾的方法就叫抽象方法
普通類繼承抽象類後,就必須重寫父類中的抽象方法。
若是是抽象類繼承抽象類,那咱們就能夠選擇不重寫、部分重寫或徹底重寫父類中的抽象方法
一樣道理,若是是抽象類實現了某個接口,原理同上。blog

/**
  * 新建抽象類: 我本身
  * 在這裏我選擇了不重寫接口中的任何方法
  */
public abstract class MySelf implements IMonery{

}

1.3 接口的多重繼承
瞬間有點小崩潰,不是說類只能單一繼承嗎?沒錯呀,類是隻能單一繼承,可是接口稍稍有點不一樣,它具有多重繼承的能力,是否是感受很棒。該下代碼你只需花上一分鐘:繼承

/**
  * 建立一個接口:錢
  */
public interface IMonery{

    /**
      * 印鈔操做
      * @param number    數量
      */
    void printMonery(int number);

    /**
      * 花錢
      */
    void spendMonery();
}

/**
  * 建立新接口:識別
  */
public interface IIdentify{
    /**
      * 識別鈔票的方法
      */
    void identify();
}

/**
  * 建立一個接口: 賺錢
  * 
  * 高能點:這裏接口進行了多重繼承,你可得仔細哦
  * 
  */
public interface IEarnMonery extends IMonery, IIdentify{
    /**
      * 賺錢動做
      */
    void earnMonery();

}

/**
  * 建立新類,並實現IEarnMonery接口
  */
public class SuperYours implements IEarnMonery{

    @Override
    public void earnMonery() {

    }

    @Override
    public void printMonery(int number) {

    }

    @Override
    public void spendMonery() {

    }

    @Override
    public void identify() {

    }
}

此一時,彼一時;你如今的功能已經特別強大了,集「印鈔」、「花錢」、「賺錢」和「識別真假鈔票」於一體,你想一想都開心啦~接口

總之,接口的多重繼承,只需在接口之間用逗號隔開便可。get


相關文章
相關標籤/搜索