开发者社区> 问答> 正文

abstract class和interface有什么区别呢?

abstract class和interface有什么区别呢?

展开
收起
游客eayrtyam4bxii 2021-12-14 20:26:22 403 0
1 条回答
写回答
取消 提交回答
  • 一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。 这是Java语言的设计者在考虑Java对于多重继承的支持方面的一种折中考虑吧。 1、抽象类和接口都不能直接实例化,如果要实例化,抽象类变量必须指向实现所有抽象方法的子类对象,接口变量必须指向实现所有接口方法的类对象。 2、抽象类要被子类继承,接口要被类实现。 3、接口只能做方法申明,抽象类中可以做方法申明,也可以做方法实现 4、接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。 5、抽象类里的抽象方法必须全部被子类所实现,如果子类不能全部实现父类抽象方法,那么该子类只能是抽象类。同样,一个实现接口的时候,如不能全部实现接口方法,那么该类也只能为抽象类。

    2021-12-14 20:27:09
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
DYNAMIC ON-THE-FLY MODIFICATIO 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载