首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么抽象不适用于接口隐式方法?

为什么抽象不适用于接口隐式方法?
EN

Stack Overflow用户
提问于 2014-06-29 02:51:15
回答 2查看 85关注 0票数 0

在阅读JLS规范的接口时,我发现了以下短语:

如果接口没有直接的超级接口,则接口隐式声明具有签名s的公共抽象成员方法m,返回类型r,并抛出与每个带有签名s的公共实例方法m对应的子句t、返回类型r和抛出在对象中声明的子句t,除非接口显式声明具有相同签名、相同返回类型和兼容的抛出子句。

因此,我的问题是,当我们实现一个接口时,为什么我们不被迫覆盖在Object类中声明的隐式方法,即使它们在接口中被隐式定义为抽象。希望我做得对。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-29 02:54:42

所有类都隐式extend Object,无论是直接还是通过某种超类链。因此,您不必显式覆盖接口中声明的隐式方法,因为您继承了来自Object的实现。

票数 6
EN

Stack Overflow用户

发布于 2014-06-29 05:04:02

接口的目的是迫使您实现某种方法。所有扩展对象的原因是我们希望有某种方法来处理与实现无关的所有类。没有理由让每个类实现类似getClass()这样的东西,因为行为总是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24472746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档