• 接口 interface 以及适配器设计模式原理


    定义接口用的不是class,而是interface。

    接口中常见的成员:而且这些成员都是固定的修饰符。

    1、全局变量:public static final (不写的时候java会默认添加上去,但是阅读性不好)

    2、抽象方法:public abstract

    接口中的成员都是公共权限的。

    类与类之间是继承关系,类与接口之间是实现关系。

    接口实现implements

    接口不可以实例化,只能由实现了接口的子类覆盖了接口中所有的抽象方法后,该子类才可以实例化,否则这个子类就是一个抽象类。

    在java中不直接支持多继承,因为会出现调用的不确定性。所以java将多继承机制进行改良,在java中变成了多实现。

    一个类可以实现多个接口。

    一个类在继承一个类的同时还能实现多个接口。

    抽象类和接口的异同点:

    相同点:都是不断向上抽取而来的。

    不同点:

      1、抽象类需要被继承,而且只能单继承

        接口需要被实现,而且可以多实现

      2、抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法

        接口中只能定义抽象方法,必须由子类去实现

      3、抽象类的继承,是is a关系,在定义该体系的基本共性内容。

        接口的实现是 like a 关系。在定义体系额外功能。

    一个类如果实现接口,则必须实现接口中的所有抽象方法,除非这个类是一个抽象类(适配器)。

    适配器设计模式:

    使用抽象类和接口同时完成。先用抽象类实现接口中的空方法,再由实体类继承这个抽象类。

    interface MyInter1{ public void show1();}

    interface MyInter2{ public void show2();}

    interface MyInter3{ public void show3();   public void show4();}

    //适配器

    abstract class Adapter implements MyInter1,MyInter2,MyInter3{

      public void show1();//空实现

      public void show2();

      public void show3();

      public void show4();

    }

    //MyClass类只想重写方法1,3

    Class MyClass extends Adapter {

      public void show1();

      public void show3();

    }

  • 相关阅读:
    mysql2redis
    butterknife简化android开发
    加速 Gradle 构建大型 Android 项目的方法[转]
    大型项目 Gradle 的常用库和版本管理[转]
    JVM调优
    CSDN上最火的android项目
    jOOQ
    Guava库
    Android 镜像地址[持续更新中]
    The server quit without updating PID file (mysql.pid)一次意外mysql停止运行备忘录
  • 原文地址:https://www.cnblogs.com/beulas/p/7878638.html
Copyright © 2020-2023  润新知