JAVA抽象类和接口的区别

JAVA中的抽象类和接口的一个区别,就是抽象类允许有公共的状态和行为。也就是说,如果所有派生类具有一些公共的状态和行为,那么可以放在抽象类中实现。在JAVA和C++中很重要的一点是所有类只能继承一个类,换言之,在不需要的时候尽量不要使用抽象类,因为类继承的机会只有一次。

对于抽象类和接口的之间的区别还可以用另一种方式去思考,它们的区别在它们各自原则背景上。抽象类可以看成是一种聚集相关实体的方式,其关注点是如何设计这些派生类,从而可以以同样的方式使用它们,它的原则是考虑派生类,看如何实现它们,看如何抽象它们。

接口的关注点是要实现和使用这些对象,也就是说服务对象应该有什么样的接口,才能更好的服务于背景对象。

接口更加简洁,并且更加符合依赖倒置原则,就认为接口优于继承类;

事实不是这样的,在很多时候,你开发了一个接口之后,你可能发现你还需要一个继承类,因为在实现类中有很多共有的状态和行为,可能在应用中,你开发了一个接口,还需要一个继承类,这样继承类可以确定默认的行为,从而使实现类更加简单,维护起来更加简单。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值