2

私はJavaが初めてで、Sunの基本的なチュートリアルを読んで、「java.langパッケージで定義されたオブジェクトクラスは、あなたが書いたものを含むすべてのクラスに共通の動作を定義および実装しています」を参照してください。クラスが他のクラスから継承されていない場合、定義したクラスのルートの親。

4

4 に答える 4

10

同じページを読み続けた場合 (私の強調):

スーパークラスを持たないを除いてObject、すべてのクラスには直接スーパークラスが 1 つだけあります (単一継承)。他の明示的なスーパークラスがない場合、すべてのクラスは暗黙的に のサブクラスになりObjectます。

于 2013-04-19T15:45:55.557 に答える
4

これは暗黙の動作です。すべてのクラスは Object を (直接または非直接的に) 拡張します。

public class MyClassと同等ですpublic class Myclass extends Object

于 2013-04-19T15:45:54.993 に答える
2

これが Java コンパイラによって行われる「魔法」です。

public class MyClass {
    ...
}

Javaコンパイラはそれを次のように認識します

public class MyClass extends java.lang.Object {
    ...
}
于 2013-04-19T15:46:21.043 に答える
1

Java 言語仕様 (具体的にはセクション 8.1.4)に次のように記載されているため、そのように機能します。

C<F 1 ,...,F n > (n ≥ 0, C ≠ Object)の (おそらくジェネリックな) クラス宣言が与えられると、クラス型 C<F 1 ,...,F n >の直接のスーパークラスextendsextends 句が存在する場合、またはObjectそうでない場合は、C の宣言の句で指定された型です。

于 2013-04-19T16:04:35.093 に答える