抽象类和接口主要区别分析

1、抽象类和接口最大区别:抽象类可以提供某些方法的部分实现,而接口不可以。
如果向抽象类加入一个新的具体方法时,那么它所有的子类都会得到这个新方法,而接口做不到这一点,
如果向接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是接口的缺点。

2、抽象类的实现只能由这个抽象类的子类完成,任何一个实现接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个接口,从而这个类就有了多种类型。

3、接口是定义混合类型的理想工具,混合类表明一个类不仅仅具有某个主类型的行为,而且具有其他的次要行为。

由此得出结论,声明类型的工作仍然由接口承担,但是同时给出一个Java抽象类,且实现了这个接口,而其他同属于这个抽象类型的具体类可以选择实现这个Java接口,也可以选择继承这个抽象类,也就是说在层次结构中,Java 接口在最上面,然后紧跟着抽象类,这样能让两者功能最大化,这个模式就是“缺省适配模式”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章