zoukankan      html  css  js  c++  java
  • 接口 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();

    }

  • 相关阅读:
    【摄影】EOS 6D通过WIFI连接手机
    【Teradata SQL】dayofyear与td_day_of_year函数区别
    【PS技巧】如何修人物的脸型
    【Teradata数据保护机制】锁
    【数据库】SQL标准定义的四个事务隔离级别
    【TD函数】Teradata正则表达式函数
    Teradata复杂视图跨库访问权限问题
    CPU芯片组与总线
    单核CPU、多个CPU(路)、超线程技术、多核CPU(物理核、逻辑核)
    Idea删除当前类所有的注释
  • 原文地址:https://www.cnblogs.com/beulas/p/7878638.html
Copyright © 2011-2022 走看看