首先:从表面区别来看,接口是只有方法声明,没有方法体。抽象类有方法体和实现,而且还可以有属性特征。
其次:为什么不能全部用抽象代替接口,因为接口强调的是动作的继承,而不是所有东西都继承,抽象只能是纯粹的继承了。考虑一个问题,如果一只狗和一只候子都有爬树的功能,如果用接口,大家实现爬树就行了,如果用抽象类,那狗继承候的特征还有候尾巴什么的。
再次:接口为什么可以多重实现,因为他只关注动作本身,不关注其他东西。比如爬树,如果继承候的爬树方法,显然狗爬树和候是不一样的。如果你用接口,仅仅是定义了这个动作,具体怎么爬是他们的事情 。但用继承,却可以继承爬树的一些具体细节,运用的情况也要因地制宜了。
所以其实接口是抽象类的特殊情况。
分享到:
相关推荐
java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...
本文件归纳了Java语言的接口类与抽象类的各自要点与同异对比。
抽象类与接口 抽象类与接口 抽象类与接口 抽象类与接口
主要介绍接口与抽象类的区别,为那些困惑的人指点迷津。
Java抽象类与接口实验报告
1.php 接口类:interface 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类,那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候php接口类就起到作用了,当...
C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例 C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例
抽象类与接口的区别,抽象类与接口的具体应用
Java接口与抽象类的课件,适合初学者,主要对接口与抽象类进行简要介绍,PPT版本。
Java 接口和抽象类
1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结
第7章 抽象类与接口.ppt第7章 抽象类与接口.ppt
1. 设计并使用抽象类; 2.学习如何定义接口,掌握接口的实现方式,使用实现了接口的类; 3.理解接口与抽象类的区别。
抽象类和接口实验报告
JAVA:抽象类和接口 接口与抽象类 接口与抽象类
Java中的类、抽象类和接口的区别和联系
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
此书对于你学习Java抽象类和接口有非常大的帮助
学习java的抽象类和接口,入门抽象类和接口必须学会这些内容