Java 对象是抽象类的超类吗?
我想知道Java 对象是抽象类的超类吗?,java,object,inheritance,Java,Object,Inheritance,我想知道Object是否也是“松散”抽象类的超类,即不扩展其他抽象类的抽象类。我不认为这有多大影响。但是,当把所有事情放在一起时,这个词的“正式”措辞是怎样的呢 在我看来,以下内容支持并反驳了主题行中的Q: 支持(“是”到上面的Q):i.)具体类可以从抽象类继承,ii.)每个类都是对象,iii.)每个类(除了对象)都有一个超类。如果Object不是抽象类的超类, 然后,对于对象的特殊情况,必须违反(iii)——“一个类可以有两个超类,如果其中一个是对象,另一个是抽象类。” 矛盾的(对Q来说是“否
Object
是否也是“松散”抽象类的超类,即不扩展其他抽象类的抽象类。我不认为这有多大影响。但是,当把所有事情放在一起时,这个词的“正式”措辞是怎样的呢
在我看来,以下内容支持并反驳了主题行中的Q:
支持(“是”到上面的Q):i.)具体类可以从抽象类继承,ii.)每个类都是对象
,iii.)每个类(除了对象
)都有一个超类。如果Object
不是抽象类的超类,
然后,对于对象
的特殊情况,必须违反(iii)——“一个类可以有两个超类,如果其中一个是对象
,另一个是抽象类。”
矛盾的(对Q来说是“否”):抽象类不能从属于具体类,Object
是具体的。但是,这也可以用“对于Object
class的特殊情况”来表述
它是在一个方面多于另一个方面,还是仅仅是“两者都有一点——对于对象来说是例外的”
类。提前谢谢
注意:我阅读了关于
.
更正我在上面原始消息中的明显错误:
抽象类显然可以从具体类继承。这也使得对象成为它们的超类 是的,
Object
是每个抽象类的超类型,并且——唯一地——甚至是接口的超类型
抽象类不能是具体类的子类[…]
那不是真的。我认为您感到困惑的是,抽象类继承具体类是合法的。这相当罕见,但也可能发生。显示了许多这样的示例。是的,所有“松散”抽象类都继承
对象。抽象类继承具体类并不常见,但这是合法的 谢谢你的链接,这就足够了。我一直缺少从具体类继承的抽象类。几乎所有的例子都是具体类扩展其他具体类。事实上,我看到的唯一反例是来自ASP.NET(不是Java)的示例类层次结构。如果你在这里看到一个不同的反例,为什么不把它复制到你的答案中,而不是让读者在这一页上进行梳理呢?