Interface 和 Impl

java分享会

分享人:北京分院 刘佳义

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

首先咱们来看一下什么是interface,接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。 接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。接口是一种100%纯抽象的类,是无法被初始化的类。

2.知识剖析

1、Java接口中的成员变量默认都是public,static,final——不可修改。

2、Java接口中的方法默认都是public,abstract类型的,没有方法体,不能被实例化

3、接口中没有构造方法,不能被实例化

4、一个接口不能实现(implements)另一个接口,但它可以继承多个其它的接口

5、Java接口必须通过类来实现它的抽象方法

6、当类实现了某个Java接口时,它必须实现接口中的所有抽象方法,否则这个类必须声明为抽象类

7、一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承.

3.编码实战

4.常见问题

为什么要使用Interface,而不是直接使用一个实体类来完成任务?Interface和Impl这种方式的好处是什么?

5.解决方案

1 “接口+实现”最常见的优势就是实现类和接口分离,在更换实现类的时候,不用更换接口功能。

6.拓展思考

1我在知乎上看到有人讲,java web项目中,几乎所有的dao 和service都只有一个实现类。使用接口并没有任何好处。

2.对于不需要频繁更变实现类的方法,是不是就可以不用写接口了?

7.参考文献

http://www.weixueyuan.net/view/6009.html

http://www.cnblogs.com/tianxue/p/5641555.html

https://www.zhihu.com/question/20111251/answer/133071950

鸣谢

感谢观看,如有出错,恳请指正

BY : 北京分院 刘佳义