接口-01

抽象类
包含抽象方法的类,而且编译器会强制我们使用abstract关键字限制抽象类
另外,我们还可以创建一个没有任何抽象方法的抽象类,以此来阻止创建该类的对象

interface关键字产生的是一个完全冲抽象的类,即所有的方法都是抽象方法,而abstract关键字可以产生部分抽象方法
继承interface接口的类的必须实现接口中所有的方法
接口中的域是隐式的static和final的

关于完全解耦
如果我们将一些方法封装到一个策略类中,然后用类的继承方式重写这些策略方法。那么,我们在调用策略时只能传递策略类或者其子类的对象。但是当我们要传递类并没有继承该策略类时,就会遇到问题,这就是调用策略的方法和策略类耦合过紧的问题。因此,我们需要进行完全解耦,方法是:将策略类中方法以接口的形式提取出来,让我们要传递的类继承该策略接口。

关于适配器模式
如果无法修改你要使用的类,比如,我们要向调用策略的方法出传递一个类,但是该类无法被我们修改。此时,我们可以创建一个适配器,然后向方法中传递一个适配器对象。该适配器对象接受你所拥有的接口,并产生你需要的接口

接口和抽象类的选择
如果要创建一个不带任何方法实现以及成员变量的基类,则选择接口

关于接口嵌套
如果一个接口中嵌套另一个接口,那么,在实现顶层接口时并不需要实现嵌套接口。另外,private接口不能再定义它的类之外实现。

接口与工厂
生成接口对象的一种典型方式就是工厂设计模式。在工厂中调用get方法获取接口实现类的对象,可以将获取的对象进行向上转型,然后调用接口中的方法实现多态。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,969评论 1 15
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,588评论 3 93
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,859评论 18 139
  • 我的这张导图中心图的意思是我想表达当我看到博赞学习技巧这本书感到惊讶,没有早点读到。通过七节课的学习,我收获到很多...
    知足常乐_7e5e阅读 134评论 0 0