抽象类和接口的功能差别?

来源:10-5 Java 中的接口

赢利万金

2015-07-09 01:40

我只知道接口可以多继承,类只能单继承,抽象类只规定类的方法,接口也是只规定方法。区别就是类只能继承一个抽象类或者一个父类,但是接口可以多个继承,也可以这样说,一个类可以继承一个抽象类的同时也可以继承多个接口用,隔开。并且必须先实现抽象类的方法和属性,其次在实现接口。。。其他的区别我就不知道了,请多指教?
写回答 关注

2回答

  • 康振宁
    2015-07-09 10:37:06
    已采纳

    1、抽象类里面可以有非抽象方法
    但接口里只能有抽象方法 
    声明方法的存在而不去实现它的类被叫做抽像类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽像类,并让它指向具体子类的一个实例。不能有抽像构造函数或抽像静态方法。Abstract 类的子类为它们父类中的所有抽像方法提供实现,否则它们也是抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。

    2、接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽像的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对像上调用接口的方法。由于有抽像类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口

    赢利万金

    非常感谢!

    2015-07-09 23:50:31

    共 1 条回复 >

  • 康振宁
    2015-07-09 10:38:00

    网上查也能查的到,遇到问题,先想想自己如何去解决它

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530650 学习 · 6091 问题

查看课程

相似问题