谈谈接口和抽象类有什么区别? - 《java核心技术》笔记

回答

接口是行为的抽象,是抽象方法的集合,目的是API定义和实现分离。不包含任何非常量成员以及非静态方法;java8后增加了default method,java9后可以定义private defult method。比如java8中的Collection增加了一系列关于Lambda、Stream的default method。
抽象类是不能被实例化的类,主要目的是代码重用。

S.O.L.I.D原则

面向对象编程的设计原则:

  • 单一职责;
  • 开关原则:设计要对扩展开放,对修改关闭;
  • 里式替换:凡是可以用父类的地方,都可用子类替换;
  • 接口分离:不要将太多方法放在一个接口,如果太多,需要分离为功能单一的多个接口;
  • 依赖反转:高层次模块不应依赖于低层次模块。
comments powered by Disqus