zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Wird pointA.equals(pointB) den gleichen true/false-Wert zurückgeben wie pointB.equals(pointA)?

Antwort:

Ja.

Übung

Wir werden das noch ein bisschen mehr üben? Wir setzen voraus, dass jede Tabellenzeile unabhängig von den anderen ist:

code sectionpointA == pointB pointA.equals( pointB )
Point pointA = new Point( 0, 0 );
Point pointB = new Point( 0, 0 );
Point pointA = new Point( 21, 17 );
Point pointB = pointA;
Point pointA = new Point( 21, 17 );
Point pointB = new Point( 7*3, 20-3 );
Point pointA = new Point( 21, 17 );
Point pointB = new Point( pointA );
Point pointA = new Point( 21, 17 );
Point pointB = new Point( 21, 17 );
pointA.move( 8, 12 );
Point pointA = new Point( 21, 17 );
Point pointB = pointA;
pointB.move( 8, 12 );

Beachtet, dass es bei der letzten Frage nur ein Objekt gab mit zwei Variablen, die auf es verweisen. Wenn die move Operation ausgeführt wird, werden die Daten dieses einen Objekts geändert. Also ist es immer noch wahr, dass die Daten auf die die eine Referenzvariable verweist die gleichen sind, auf die die andere verweist.

Aliase können verwirrend sein, und es ist leicht sich zwei Objekte vorzustellen wo es tatsächlich nur eines gibt.

FRAGE 23:

Kann ein Objekt mehr als zwei Aliase haben?