Object
「緩い」抽象クラスのスーパークラス、つまり他の抽象クラスを拡張しない抽象クラスもあるかどうか疑問に思っています。私はこれがあまり重要だとは思わない。しかし、物事をすべてまとめるとき、これに関する「正式な」表現はどうですか。
以下は、件名の Q を支持し、矛盾しています。
サポート (上記の Q に「はい」): i.) 具象クラスは抽象クラスから継承できます、ii.) すべてのクラスは の子孫でありObject
、iii.) すべてのクラス ( を除くObject
) は厳密に 1 つのスーパークラスを持ちます。抽象クラスのスーパークラスではなかった場合Object
、(iii) の特殊なケースについて必然的に違反する必要がありObject
ますObject
。
矛盾する (Q に「いいえ」): 抽象クラスは具体的なクラスのサブになることはできず、具体Object
的です。Object
しかし、これも「クラスの特殊な場合」と言い換えることができます。
それはどちらか一方に偏っているのでしょうか、それとも単に「両方のビット -Object
クラスにとって例外的」のようなものですか. 前もって感謝します。
注: java.lang.Objectが抽象的でない理由に関する議論を読みました か?.
上記の元のメッセージの明らかな間違いを修正します。 抽象クラスは、具体的なクラスから継承できるようです。これにより、Object もスーパークラスになります。