1.背景介绍
什么是接口
接口是一种用来定义程序的协议,它描述可属于任何类或结构的一组相关行为。在JAVA编程语言中是一个抽象类型,是抽象方法的集合
接口的来源
JAVA中没有多重继承的机制,所以提出了接口的概念,可以完成多重继承的功能
2.知识剖析
接口的定义
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。
[访问修饰符] interface [接口名] {
[定义常量]
[定义抽象方法]
}
访问修饰符默认为public
什么是多重继承
指的是一个类可以同时继承多个父类的行为和特征功能
为什么要摒弃多重继承用接口
如果B,C都继承与D且都改写了D里的同一个方法,如 void a()变成void b()和 void c()。如果让A同时继承B和C,该用b的方法还是c就冲突了。
同时对于接口来说只规定了a方法没有实现因此就不会出现a()的两种实现,因此接口的继承也就没有在上面说的这个问题了
3.常见问题
为什么要使用接口?而不是直接实现呢
JAVA只允许一个类只能继承一个抽象类,而一个类却可以继承实现多个接口。
接口与实现不分离,则只能继承一个抽象类,但有时候需要继承多个
4.配置展示
5.扩展思考
接口和实现分离的好处
隐藏实现细节,减少对外接口和类,减少接口和实现直接的相互依赖,封装
6.参考文献
JAVA 语言程序设计
JAVA 核心技术 卷I
http://www.cnblogs.com/tianxue/p/5641555.html#title2
7.更多讨论
抽象类和接口的区别
接口只能定义属性、索引器、事件、和方法声明,没有普通成员变量,抽象类则可以有
接口不能有构造方法,接口不能有构造方法
接口只能有抽象方法,抽象类中可以包含非抽象的普通方法
接口中的方法只能是public类型的,抽象类中的抽象方法的访问类型可以是public,protected
接口可以被多重实现,抽象类只能被单一继承
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧~