11

クラスの初期化ごとに、各クラスがオブジェクト クラスを拡張することを認識しています。これは、JVM がカスタム クラスとクラスのオブジェクトを作成するということObjectですか? クラスの初期化のこのプロセスを非常に明確に説明できる人はいますか。

編集 :

スーパークラスをサブクラスに拡張すると、このスーパークラスはサブクラスと同じメモリを占有しますか?

4

7 に答える 7

0

new 演算子を使用するたびに、そのクラスのオブジェクトが作成されます。親クラスの属性については、作成されたオブジェクトの空間内の変数を初期化します。

于 2013-07-23T07:37:18.043 に答える
0

問題は、このクラスのインスタンスが new で作成されたときではなく、クラスが初期化されたときに何が起こるかということでした。

例えば:

class Foo {
    static void bar() { .... }
    ... // other members
}

このクラスは、 が呼び出されると初期化されます (インスタンス化はされません) Foo.bar()

そして、それが起こった場合、Class<Foo>あなたが通り抜けるのと同じオブジェクトが作成されると思いますFoo.class

于 2013-07-23T12:46:57.250 に答える