0

クラスはすべての親クラスであるため、クラスがJavaのすべてのクラスによって暗黙的に拡張されているObjectことを知りたいというJavaでのクエリがあります。Object

例: オブジェクト クラスを作成する場合BAJava ではクラスは最大で 1 つのクラスしか拡張できないため、問題のないクラスを拡張しますが、私のクラスはクラスBを暗黙的に拡張したためObject、どのようにクラスを拡張できAますか? お知らせ下さい。

4

4 に答える 4

0

これは、個人が親を 1 人しか持たない家系図と考えてください。各個体には 1 つの親しかありませんが、その親の先祖はすべて個体の先祖でもあります。これは、すべてのクラスが拡張されていると言われるときに意味されますObject。これは、すべてのクラスの最も遠い祖先ですが、宣言されているextends Objectextends宣言されていないクラスの直接の祖先 (親) のみです。

于 2013-02-20T12:55:51.743 に答える
0

概念は知っていると思いますが、少し混乱しているに違いありません。木を考えてみてください。オブジェクト クラスはそのツリーのルートです。間に葉と他のノードがあります。クラス階層がどのように設計されていてもObject、そのルートはそれであるため、最終的にはそうなります。したがって、クラスを考えずに、任意のクラス (abstract または Interface ではない) を拡張できますObjectObject拡張は自動的に行われるためです。

于 2013-02-20T13:00:07.300 に答える
0

親が指定されていない場合にのみ暗黙的に を継承しObjectます。それ以外の場合は、指定された親のみを継承します。

サイドノート:

これは許可されています:

  C
  |
  A
  |
  B

上記の場合、求めている内容に合わせて with にC置き換えます。Object

これは許可されていません:

C   A
 \ /
  B

継承は好きなだけ深くすることができますが、1 つのオブジェクトが複数の親を持つことはできません。

于 2013-02-20T12:51:13.637 に答える
-1

ここで、キーワードはEXPLICITであることをお勧めします。1 つのクラスのみを明示的に拡張できます。しかし、そうしないと、Java はクラスを Object クラスで暗黙的に拡張します。その場合、オブジェクトは継承されたクラスの階層のどこかにある必要があります。

于 2013-02-20T13:16:15.990 に答える