Java中抽象类和接口的区别

本文详细对比了抽象类和接口在Java中的特点和用法。抽象类支持构造方法、普通方法等,而接口仅包含抽象方法和全局常量。子类通过extends继承抽象类,implements实现接口。抽象类受限于单继承,而接口可实现多继承。在选择使用时,若考虑避免单继承限制,优先推荐使用接口。
摘要由CSDN通过智能技术生成

1. 关键字

  • 定义抽象类的关键字是abstract
  • 定义接口的关键字是interface

2.组成

  • 抽象类可以由构造方法、普通方法、抽象方法、static方法、常量、变量组成
  • 接口由抽象方法和全局常量组成

3.子类使用

  • 抽象类由extends来实现子类继承
  • 接口是由implements来让子类的实现
  • 抽象类和接口要想使用都必须有子类,并且子类覆写全部的抽象方法
  • 二者都需要子类的向上转型来实现实例化

4.关系

  • 抽象类可以实现多个接口
  • 接口不能继承多个抽象类,但可以继承多个父接口

5.权限

  • 抽象类可以使用各种权限
  • 接口只有pubic权限

6.限制

  • 抽象类由单继承限制
  • 接口没有单继承限制

总结

综上所述,抽象类中支持的功能绝对要比借口多,但是有一点不好,抽象类有单继承局限,所以当抽象方法和接口都能使用的时候,优先使用接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值