Was ist falsch an dem folgendem Codesegment?
Point myPoint = new Point(); // einen Punkt bei x=0, y=0 konstruieren myPoint.move(); // den Punkt auf eine neue Position verschieben
Die zweite Anweisung ruft die Methode move() von myPoint auf,
aber stellt keine Daten bereit wohin der Punkt zu verschieben ist.
In diesem Fall ist die Angabe welche Methode auszuführen ist nicht genug.
Die Methode braucht Daten darüber, was zu tun ist.
Wenn Sie sich die Beschreibung der Klasse Point ansehen,
wird die move() Methode
folgendermaßen beschrieben:
public void move(int x, int y); // (x,y) eines point-Objekts ändern
Diese Beschreibung besagt, dass die Methode zwei Parameter erfordert:
int sein. Er wird der neue Wert für x sein.
int sein. Er wird der neue Wert für y sein.
Die "Punktnotation" wird verwendet um anzugeben, welches Objekt und welche Methode dieses Objekts auszuführen ist. Die Parameterliste der Methode versorgt die Methode mit Daten. Hier sind einige Beispiele:
Point pointA = new Point(); Point pointB = new Point( 94, 172 ); pointA.move( 45, 82 ); pointB.move( 24-12, 34*3 - 45 ); int col = 87; int row = 55; pointA.move( col, row ); pointB.move( col-4; row*2 + 34 );
Sie können Ausdrücke in Parameterlisten angeben, solange der Ausdruck den Datentyp ergibt, den die Methode erwartet. Die Ausdrücke werden ausgewertet (unter der Verwendung der üblichen Regeln), bevor die Methode zu starten beginnt.