美文网首页JAVA面试必备基础知识点
第十三章、java抽象类与接口的区别

第十三章、java抽象类与接口的区别

作者: 小母牛不生产奶 | 来源:发表于2018-10-29 22:46 被阅读2次

    1、什么是抽象类

    对类的一个抽象,把类(事物)抽象出来,当做模板,也就是说在有很多类的时候,我们把一些相似的类的某些方法,某些成员变量抽象出来作为一个模板,让这些类更方便的去继承。所以,在抽象类中,有抽象方法也有普通方法。一个抽象类就是包含抽象方法的类

    在继承抽象类的时候,子类必须得实现抽象类中的所有抽象方法,抽象类也无法去创建实例,因为里面有抽象的方法。


    2、什么是接口

    接口通常来说是一个对行为的抽象,它是提供给别人调用的方法。它里面所有的方法都必须为public,而且它的成员变量必须是public static final 的。



    3、接口与抽象类的区别

    1.继承抽象类的子类们的本质都是相似的,它们体现的是一种 “is-a" 的关系,就像动物中的猫和狗;而对于接口的继承更多的是一种行为的相似,是一种 “like-a” 的关系,比如飞机和鸟,它们都具有飞的行为,却并不需要在本质上相似。

    2.抽象类可以拥有任意范围的成员数据,既可以是抽象,也可以是非抽象;但是接口,所有的方法必须是抽象的,所有的成员变量必须是 public static final的,某种程度上来说,接口是对抽象类的一种抽象。

    3.一个类只能继承一个抽象类,但却可以实现多个接口。

    相关文章

      网友评论

        本文标题:第十三章、java抽象类与接口的区别

        本文链接:https://www.haomeiwen.com/subject/dlaitqtx.html