我想知道Object
是否也是“松散”抽象类的超类,也就是不扩展其他抽象类的抽象类。我不认为这很有效。但是,当把所有东西放在一起时,这个“正式”措辞如何呢?对象是抽象类的超类吗?
下列支持和抵触在主题行中的数Q i看到的方式:支持
(“是”至Q以上):ⅰ)一个具体的类可以从一个抽象继承II。 )每个班级都是Object
的后裔,以及iii。)每个班级(除Object
之外)都只有一个超班。如果Object
不是抽象类的超类,那么(iii)对于Object
的特殊情况必须违反 - “如果其中一个类是Object
而另一类是抽象类,则类可以有两个超类。
矛盾(对Q的“否”):抽象类不能具体化,而Object
是具体的。但是,这也可以被解释为“针对Object
课程的特例”。
它比另一面更偏向一边吗?或者它仅仅是“两者兼有 - 对于Object
班级来说是例外”。提前致谢。
注意:我读了关于 Why java.lang.Object is not abstract?的讨论。
在上面的原始消息中纠正我明显的错误: 抽象类可以明显地从具体的类继承。这也使Object成为他们的超类。
感谢您的链接 - 这使它。我一直都缺少从具体的继承的抽象类。 – ashley
几乎所有的例子都有扩展其他具体类的具体类。实际上,我看到的唯一反例是ASP.NET的一个示例类层次结构(它不是Java)。如果你看到一个不同的反例,那么为什么不把它复制到你的答案中,而不是让读者梳理该页面呢? – ruakh