抽象类和接口的区别

Java中抽象类与接口的区别

第一"使用的关键字不同",抽象类是“继承”所以用extends关键字,接口是“实现”所以用implements关键字

第二“结构组成”不同,抽象类就是在普通类的基础上额外多了一个抽象方法,而接口中只能含有抽象方法和全局常量(被final和default修饰的方法可以有具体的实现),接口中的方法默认被public abstract修饰 ,接口中的常量默认被public static final修饰 也就是说接口中的访问权限只能是public但是抽象类中可以是任意权限

第三“接口的存在解决了不能多继承的问题”,正常情况下一个类只能继承一个类,所以一个类只能继承一个抽象类,但是可以实现多个接口。

在这里打个比方比如抽象类是动物,那么接口就是能跑,能飞,能游泳,那么鸭子就可以继承动物这个抽象类,再去实现能跑,能飞,能游泳这三个接口,可以将动物共性完全抽取。

第四,抽象类可以实现多个接口,但是接口不能继承抽象类,但是接口可以跳过implements关键字实现多个父接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值