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


相关文章
相关标签/搜索