think in java 关于抽象类

本文探讨了Java中抽象类和接口的设计目的与使用场景。强调了抽象类在演化过程中的灵活性,即可以在后续版本中轻松地添加新方法,并自动应用于所有子类。这与接口的固定性形成对比,说明了设计公开接口时需要更加慎重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直很不明白,为什么java要设计抽象类这个概念,因为平时coding的时候,基本接口用的多,很少用抽象类,所以对他的设计始终存在疑问。今夜读java编程思想,只看明白了接口是他的一种特殊表现。查了资料后,才明白 抽象类比接口有一个更优越的地方:抽象类的演化比接口的演化要容易的多。在后续的发行版中,如果希望在抽象类中增加一个方法,只增加一个默认的合理的实现即可,抽象类的所有实现都自动提供了这个新的方法。对于接口,这是行不通的。虽然可以在骨架实现类中增加一方法的实现来解决部分问题,但这不能解决不从骨架实现类继承的接口实现的问题。由此,设计公有的接口要非常谨慎,一旦一个接口被公开且被广泛实现,对它进行修改将是不可能的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值