Denken Sie, dass alle Objekte desselben Typs von gleicher Größe sind?

Eine gute Antwort könnte sein:

Nein. Objekte sind größer und komplexer als primitive Datentypen. Es wäre zu restriktiv, wenn alle Objekte desselben Typs gleich groß sein müssten.

Ein Stringobjekt

Objekte sind groß, komplex und variieren im Umfang. Sie bekommen nicht automatisch ein Objekt, wenn sie eine Objektreferenzvariable deklarieren. Alles was Sie bekommen, ist ein Name für ein zukünftiges Objekt. Betrachten Sie das folgende Beispiel:


class EgString
{

  public static void main ( String[] args )
  {
    String str;

    str = new String( "Der Gingham Hund" );

    System.out.println( str );
  }
}

Ein Objekt enthält Daten und Methoden (Zustand und Verhalten). Sie können ein Stringobjekt wie in dem obenstehenden Programm ungefähr auf diese Art visualisieren:

Der Datenteil des Objekts enthält die Zeichen. Der Methodenteil des Objekts enthält viele Methoden. (In Wirklichkeit ist das Bild eine Vereinfachung. Das Java System macht etwas effizienteres, aber logisch gesehen, das gleiche) In zukünftigen Diagrammen, die Objekte zeigen, werden die Methoden der Objekte gewöhnlich nicht angezeigt.

FRAGE 4:

(Rückblick:) Was bewirkt das folgende new?

str = new String( "Der Gingham Hund" );