1

配列は Java のオブジェクトであることはわかっています。objectで作成すると信じていますObject oriented languages(別の議論でそれを持てない場合)、それの青写真 (クラス) が必要です。しかし、使用時に配列用にオブジェクトが作成されているクラスがわからないか、見つかりませんnew operator。Javaに配列用のクラスがある場合、階層はどのようになりますか?

クラスが存在しない場合、オブジェクトはどのようにインスタンス化されるのでしょうか? そして、クラスのないオブジェクト型を持つ理由は何ですか?

4

5 に答える 5

3

配列は、 newarrayと呼ばれる特別な命令を使用して仮想マシンによって作成されるため、特別な構造と考えてください。

JVM仕様から:

3.9。配列

Java 仮想マシン配列もオブジェクトです。配列は、個別の一連の命令を使用して作成および操作されます。newarray命令は、数値型の配列を作成するために使用されますコード:

配列のクラス階層については、JLSからもお読みください。

配列型の直接のスーパークラスは Object です。

于 2013-05-14T06:46:15.307 に答える
2

配列、たとえば はObject[]、プリミティブと同様に特別な種類の変数です。その型はObject[]ではなくObjectです。Java は、Ruby のような「完全な」オブジェクト指向言語ではありません。配列やプリミティブなどの特別なデータ型があります。

于 2013-05-14T06:45:07.240 に答える