diff --git a/java/what_is_the_differren_between abstract class and interface.md b/java/what_is_the_differren_between abstract class and interface.md new file mode 100644 index 0000000..2d3eb4c --- /dev/null +++ b/java/what_is_the_differren_between abstract class and interface.md @@ -0,0 +1,5 @@ +1.接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现 了自然界“如果你是……则必须能……”的理念。 +2.接口是在一定粒度视图上同类事物的抽象表示。注意这里我强调了在一定粒度视图上 ,因为“同类事物”这个概念是相对的,它因为粒度视图不同而不同。 +3.在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务( 即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能, 上层对于下层仅仅是接口依赖,而不依赖具体类。 +4.“面向接口编程”中的接口是一种思想层面的用于实现多态性、提高软件灵活性和可 维护性的架构部件,而具体语言中的“接口”是将这种思想中的部件具体实施到代码 里的手段。 +5.我认为,抽象类和接口的区别在于使用动机。使用抽象类是为了代码的复用,而使用 接口的动机是为了实现多态性 \ No newline at end of file