黑马程序员技术交流社区

标题: 接口和抽象类的区别是什么? [打印本页]

作者: wgc    时间: 2016-10-17 00:16
标题: 接口和抽象类的区别是什么?

不同点在于:

接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。

类可以实现很多个接口,但是只能继承一个抽象类

类如果要实现一个接口,它必须要实现接口声明的所有方法。但是,类可以不实现抽象类声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。

抽象类可以在不提供接口方法实现的情况下实现接口。

Java 接口中声明的变量默认都是 final 的。抽象类可以包含非 final 的变量。

Java 接口中的成员函数默认是 public 的。抽象类的成员函数可以是 private,protected 或者是 public 。

接口是绝对抽象的,不可以被实例化(java 8已支持在接口中实现默认的方法)。抽象类也不可以被实例化,但是,如果它包含 main 方法的话是可以被调用的。


作者: Kevin_Ye    时间: 2016-10-17 00:26
总结挺不错,支持。

作者: 想跳楼    时间: 2016-10-17 00:39
支持下 666

作者: 哦啊啊    时间: 2016-10-17 09:14
蓝瘦香菇蓝瘦香菇

作者: 冷猫    时间: 2016-10-17 10:40
刚看到这,学习了,谢谢楼主
作者: Bast1an    时间: 2016-10-17 12:52
总结的很好啊,学到了,

作者: gyy    时间: 2016-10-17 12:56
赞一个,赞一个,赞一个,赞一个




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