关于java:Object是抽象类的超类吗?

Is Object a superclass of abstract classes?

我想知道Object是否也是"松散"抽象类的超类,即不扩展其他抽象类的抽象类。我认为这并不重要。但是,当把所有的东西放在一起时,这个词的"正式"措辞是怎样的呢?

以下支持并与主题行中的Q相矛盾:

支持("是"到上面的q):i.)一个具体的类可以从一个抽象类继承,ii.)每个类都是Object的后代,iii.)每个类(Object除外)只有一个超类。如果Object不是抽象类的超类,那么(iii)对于Object的特殊情况,就必须违反——"一个类可以有两个超类,如果其中一个是Object类,另一个是抽象类。"

矛盾("no"to q):抽象类不能是具体类的子类,Object是具体类。但是,这也可以用"对于Object类的特殊情况"来表示。

它是在一边多于另一边,还是只是"两者兼而有之——对于Object类来说是例外"。事先谢谢。

注意:我阅读了关于为什么java.lang.object不是抽象的?.

纠正我在上述原始信息中的明显错误:抽象类显然可以从具体类继承。这也使对象成为超类。


是的,每一个抽象类都是一种超级类型,而且是一种超级类型的界面。

An abstract class cannot be sub to a concrete one, […]

这不是真的。


是的,所有的"Loose"抽象级的Object。对抽象的类别来说,不太常见,但它是合法的。


我认为你感到困惑的是,这是一个抽象级的法律,是一个具体级。这是罕见的,但它可能发生。这一问题的例子不少。