抽象类和接口的区别

在这里插入图片描述

1 抽象类和接口的区别


  • 相同:多态的实现可以借助抽象类和接口,抽象类和接口中都可以存在抽象方法,且继承抽象类和实现接口的子类必须重写父类的抽象方法。
  • 核心区别: 抽象类中可以包含普通方法和普通字段,这样的方法和字段可以直接被子类继承使用,而接口中不能存在普通方法和字段,子类实现一个接口后必须重写接口中的所有抽象方法。

子类和抽象类的关系:
子类通过extends关键字继承抽象类,且类间只存在单继承关系,所以一个子类只能继承一个抽象类

子类和接口的关系:
子类通过implements 关键字实现接口,接口对子类不存在限制,也就是说一个子类可以实现多个接口

抽象类和接口的关系:
一个抽象类可以通过implements关键字实现诺干接口;
接口不能继承抽象类,但是接口与接口之间可以通过extends关键字来扩展多个接口的功能

NO区别抽象类(abstract)接口(interface)
1访问权限各种权限public
2结构普通类 + (抽象方法)抽象方法 + 静态常量
3与子类联系子类使用extends关键字继承抽象类子类使用implements关键字实现接口
4两者关系抽象类可以实现接口接口不可以继承抽象类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值