Die obenstehende println()
Methode kann ohne Probleme ausgeführt werden.
Bedeutet das, dass das von a
referenzierte Objekt auf den Bildschirm kopiert wird?
Nein — ein temporäres Stringobjekt wurde durch die toString()
Methode des Objekts erzeugt und die Zeichen in diesem Objekt wurden durch println()
an den Bildschirm gesendet.
Hier ist das Beispielprogramm mit einer weiteren Änderung:
import java.awt.*; class PointBsp3 { public static void main ( String arg[] ) { Point a = new Point(); // kombinierte Deklaration und Konstruktion Point b = new Point( 12, 45 ); Point c = new Point( b ); System.out.println( a ); // einen temporären String basierend auf "a" // erzeugen und ausgeben System.out.println( b ); // einen temporären String basierend auf "b" // erzeugen und ausgeben System.out.println( c ); // einen temporären String basierend auf "c" // erzeugen und ausgeben } }
Das Programm gibt aus:
java.awt.Point[x=0,y=0] java.awt.Point[x=12,y=45] java.awt.Point[x=12,y=45]
Dieses Programm ist trügerisch kurz; seine Ausführung erfordert ziemlich viel Aktivität.