接口与抽象类的区别

1、接口和抽象类都不能直接被实例化,需要去实现接口和继承抽象类间接实例化;
2、接口与抽象类的标识不同,接口是interface,抽象类是abstract;
3、实现方式不同,接口是被实现(implements),抽象类是被继承(extends);
4、定义的变量不同,接口定义的是公共的静态常量,抽象类定义的是普通成员变量;
5、接口没有构造器,而抽象类有构造器;
6、抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类,注意:接口是特殊的抽象类;
7、抽象类不仅可以做方法的声明,也可以做方法的实现,接口在jdk8之前只能做方法的声明,不能被实现,而在jdk8之后添加了默认方法和静态方法,允许有方法体;
8、抽象类只能单继承,而接口可以多重继承。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值