美文网首页
对接口能实现代码解耦的理解

对接口能实现代码解耦的理解

作者: 8a5e0731064f | 来源:发表于2019-11-08 10:38 被阅读0次

接口是什么

接口是指的是行为的标准,用于规范对象的行为。

为什么接口可以实现代码的解耦

Java集合的ArrayList与LinkedList都实现了List接口,都是实现了add,remove,contain等方法,在使用集合工具类Collections.sort(List<T> list)时不需要知道和指定传入的list是ArrayList还是LinkedList,也就忽略了上层代码的实现,从而实现代码的解耦。

什么时候该用接口,什么时候该用抽象类

  • 接口是定义对象行为的标准,用于规范对象的行为,其实就是根据行为抽象出方法来定义。
  • 抽象类是用于描述对象,抽取共同属性,抽象类就像是实现类的子集。
    例如鸟和蚊子都会飞,那么鸟和蚊子这两个类都可以实现一个共同接口,该接口具有fly()方法表示他们都会飞,但他们并不是同一种类型的生物,而它们的共同属性是他们都有翅膀,所以可以定义一个抽象类抽取“翅膀”的属性。

在Java中抽象类与接口的区别

  1. 接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法。
  2. 接口中除了static、final变量,不能有其他变量,而抽象类中则不一定。
  3. 一个类可以实现多个接口,但只能实现一个抽象类。接口自己本身可以通过extends关键字扩展多个接口。
  4. 接口方法默认修饰符是public,抽象方法可以有public、protected和default这些修饰符(抽象方法就是为了被重写所以不能使用private关键字修饰!)。
  5. 从设计层面来说,抽象是对类的抽象,是一种模板设计,而接口是对行为的抽象,是一种行为的规范

相关文章

  • 对接口能实现代码解耦的理解

    接口是什么 接口是指的是行为的标准,用于规范对象的行为。 为什么接口可以实现代码的解耦 Java集合的ArrayL...

  • 解耦

    解耦 对于大型重构, 最有效的手段就是 解耦, 解耦的目的使实现代码高聚合、松耦合。 解耦为何如此...

  • BeeHive学习总结

    设计原则: 解耦,避免对接口依赖使用invoke以及动态链接库实现对接口的解耦 BeeHive每个模块都是有生命周...

  • 20171127-03问题整理

    总摘要: 解耦. 接口降低. 架构. 2017-11-27摘要: 解耦. 接口降低. 架构. 1.为什么说解耦的...

  • PHP设计模式-桥接模式

    适用性 基础的结构型设计模式:将抽象和实现解耦,对抽象的实现是实体行为对接口的实现。 例如:人 => 抽象为属性:...

  • 设计模式

    创建型 工厂作用:解耦代码代码的解耦 一个对象我要实现单例 简单的是在这个类 中把构造方法 设置为private ...

  • JAVASE-DAY09

    纲要: 一、接口:是特殊的抽象类 1、优点: 定义开发规范 提高代码复用性 解耦 多实现,类只能单继承 2、修饰符...

  • SPI机制

    SPI的全名为Service Provider Interface,是Java实现面向接口的解耦机制。通过SPI,...

  • 2. 观察者模式

    设计原则 面向接口编程 对象之间交互必须松耦合,借助抽象接口来实现交互动作的解耦 定义和实现思路 为了实现交互对象...

  • [Java]重学Java-多态

    从一个例子理解多态 对于一个不同特征的对象,使用接口可以隐藏子类的行为,对外暴露同一个接口,从而实现编程的解耦. ...

网友评论

      本文标题:对接口能实现代码解耦的理解

      本文链接:https://www.haomeiwen.com/subject/nkribctx.html