黑马程序员技术交流社区

标题: 接口和抽象类有什么不同? [打印本页]

作者: Y1011    时间: 2015-7-18 20:22
标题: 接口和抽象类有什么不同?
Java同时提供和支持抽象类和接口,它们的实现有一些共同的特点,也有如下不同:
•接口中所有的方法默认都是抽象的,而抽象类可以同时包含抽象和非抽象的方法。

•一个类可以实现多个接口,但它只能继承一个抽象类。

•一个类要实现某个接口,必须实现这个接口声明的所有方法。而一个类不需要实现抽象父类中声明的所有方法,不过,这时候这个类也必须声明为抽象类。

•抽象类可以实现接口,而且不需要实现接口中的方法。

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

•接口中的成员默认是public的,而抽象类的成员可以是private,protected,或public的。

•接口是绝对抽象的,不可实例化,抽象类也不可以实例化,但可以在main方法中触发实例化(注:通过匿名类实现)。


作者: 扶摇丶    时间: 2015-7-18 20:24
学习一下




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