黑马程序员技术交流社区

标题: 想问抽象类和接口都有哪些不同点。 [打印本页]

作者: winkyqin    时间: 2014-10-28 10:46
标题: 想问抽象类和接口都有哪些不同点。
回过头去看抽象类和接口的笔记。
想问下什么情况下应该使用抽象类,而什么时候使用接口。
作者: wzg1015    时间: 2014-10-30 01:14
子类可以实现多个接口,但只能继承一个抽象类。另外,接口除了静态最终成员外,只能含有抽象的未实现方法,only public, abstract, default, static and strictfp 。而抽象类可以含有自己的成员,可以含有已经实现的方法,可以含有构造函数,最后含有1-多个需要子类实现的抽象方法。protected也可以作为抽象方法。
我认为一般接口是大多数对象都有的共性:比如 比较接口,序列化接口,不涉及对象的性质。
而抽象类则一般是实现了某些接口的,有一定特性的基类,已经实现了大部分的逻辑,而只有少量的方法需要子类去实现,通过实现这些方法,就可以形成不同的类。比如List 抽象类,不同的实现就造成了不同的子类

不过我认为接口和抽象类都是用于接收特定对象的。通过调用接口和抽象类限定的方法就可以无需关注底层实现,就可以通用的使用这些对象了。
作者: Eagle    时间: 2014-10-30 16:33
wzg1015 发表于 2014-10-30 01:14
子类可以实现多个接口,但只能继承一个抽象类。另外,接口除了静态最终成员外,只能含有抽象的未实现方法, ...

继承抽象类是不是可以不用把方法全部覆盖呢??
作者: 姜浩    时间: 2014-10-30 16:55
Eagle 发表于 2014-10-30 16:33
继承抽象类是不是可以不用把方法全部覆盖呢??

可以,但是这个继承抽象类的子类,也是个抽象类。
作者: Eagle    时间: 2014-10-30 16:59
姜浩 发表于 2014-10-30 16:55
可以,但是这个继承抽象类的子类,也是个抽象类。

额。。。刚看到。不是抽象类的只要复写抽象方法就好。。。汗。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2