2.15.1 | Arrays vs. Objekte |
In der Sprachspezifikation von Java wird ausdrücklich gesagt, dass Arrays Objekte sind. Dennoch weisen Arrays gewisse Unterschiede zu »normalen« Objekten auf. Objekte und Arrays haben die folgenden Gemeinsamkeiten:Arrays unterscheiden sich von Objekten durch folgende Merkmale:
- Arrays werden wie Objekte grundsätzlich dynamisch angelegt und am Ende ihrer Verwendung automatisch vom Garbage Collector entfernt.
- Array-Typen sind Verweise.
- Array-Typen sind wie alle Klassen implizit Unterklassen der Klasse Object. Arrays können somit auch an Verweise auf Object zugewiesen werden. Alle Methoden von Object sind auch für Arrays verfügbar.
- Array-Elemente werden wie die Datenelemente von Objekten auch stets automatisch initialisiert.
- Arrays haben keine Konstruktoren. Stattdessen gibt es für Arrays eine spezielle Syntax des new-Operators.
- Es können keine Unterklassen von Arrays definiert werden. Somit ist es auch nicht möglich, ihnen Datenelemente und Methoden im Sinne von Objekten hinzuzufügen oder gar Methoden zu überschreiben.