问答详情
源自:11-2 代码实现

父类、抽象类、接口如何区分?

继承父类、抽象类、接口三类的本质区别是什么?感觉功能具有相似性,能给是先同样的功能效果,使用时应该如何选择呢?

提问者:天涯蝶舞 2015-12-01 21:29

个回答

  • 云承寒
    2015-12-02 08:36:35
    已采纳

    比如公司,有经理员工,他们都有自己名字和id这些特定的,这些你不能每个员工都写一个方法吧,这些相同的你就可以向上抽取成抽象类将其写成抽象方法,子类员工继承后必须复写其方法。

    接口呢,公司里人多,有人吸烟,有人不吸烟,你不能写成抽象类强制子类去实现吧,这种不同众的功能,写成接口去实现。就和游戏插件一样,我想要无敌,就开个无敌,我想单玩,就不去开无敌的插件。

  • 慕粉1474190142
    2017-04-18 08:07:22

    哈哈,受教了。


  • 云承寒
    2015-12-01 21:34:31

    父类是众多子类有相同功能向上抽取出来的,继承后,可以随意调用其中任意一个或多个方法。

    抽象类里面的方法都是抽象的,继承抽象类,就强制子类实现抽象类的方法。

    接口你可以理解为游戏外挂插件,实现单个指定的方法。

    另外,java中类支持顺序继承但不支持多继承,接口可以多实现。