java抽象类abstract和接口interface的区别

                                     抽象类                               接口

定义关键字                   abstract                         interface 

子类继承或实现关键字  extends                       implement

方法实现                     可以有                          不能有但是在jdk8以后可以有default实现

方法访问控制符          无限制                        有限制默认是 public abstract 类型

属性访问控制符        无限制                               有限制 默认是 public static final 类型

静态方法                 可以有                              不能有

static静态代码块   可以有                             不能有

本类型之间扩展      单继承                          多继承

 本类型之间扩展关键字 extends                   extends

抽象类在被继承之间体现的是is-a的关系,接口与被实现之间体现的是can-do的关系

抽象类是模板设计  而接口更像契约式设计

接口是顶级“类” 编译之后还是.class文件

接口某种意义上位于顶层,而抽象类更多对各个接口进行组合,然后实现部分接口行为

接口和抽象类选择犹豫时推荐定义接口,遵循接口隔离原则

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值