【发布时间】:2017-08-12 00:06:41
【问题描述】:
我知道 byteValue() 和 shortValue() 的实现与其他抽象方法不同,并且是在 JDK1.1 中添加的。如果它是一个接口,这是不可能的。但是,当开发人员编写 Number 类时,他们为什么要把它变成一个抽象类呢?仅仅是因为他们预计以后可能会添加更多方法吗? 我只需要权威引用支持的答案。非常感谢大家花时间审查我的问题并给出答案。
【问题讨论】:
-
他们可以把它变成一个接口而不是一个抽象类,但是一个具体的类是没有意义的。在 Java 8 之前,他们无法向接口添加实现。
-
建议:如果您编辑您的问题以指定您只想要权威引用支持的答案(来自电子邮件列表的语言设计者的讨论等),那么您可以避免一些投票关闭为基于意见。
-
@yshavit 谢谢你的建议。
-
您可能根本不喜欢这个答案,早在 Java 1 天,Sun 仍在学习设计 API 并且犯了许多错误。我往往不会真正质疑 Java 5 之前制作的旧类,它们来自不同的时代。
标签: java interface abstract-class