java中抽象类与接口的最本质的区别

本文探讨了Java中抽象类与接口的本质区别,强调抽象类关注对象是什么,而接口关注对象能做什么。通过生动的例子说明了两者在设计意图上的不同。

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

今天看了篇文章就讲这个的,给了我很多启发。如作者所说,网上有很多文章谈到两者的区别,但这些不是语言在设计之初的本质上的区别。

作者认为两者的本质区别是:接口类是抽象类的抽象,但我不完全认同,先附上原文链接:点击打开链接


 我认为在java的设计意图中,抽象类是作为类的抽象,它注重这个东西是什么,但接口是能力的抽象,它不注重一个对象是什么,而是能干什么,这才是两者的本质区别。


 java中一个类最多只能继承一个抽象类,但可以实现多个接口,也就是说java的世界里,一只野鸡(具体类)就只能是鸡(抽象类)而不能是鸭子(另一个抽象类),但这只野鸡可以飞(实现了flyable接口,注意野鸭也可以实现这个接口,飞机也可以实现这个接口),野鸡还实现了“叫able”接口,野鸭也实现了这个接口,汽车也可以实现这个接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值