2017-10-01 2 views
-2

Entschuldigung, wenn die Terminologie nicht korrekt ist. Nehmen wir an, ich habe eine Methode namens "merge". Ich habe ein Objekt namens "a" und ein anderes namens "b". Wenn ich diese Methode aufrufen möchte, um "a" und "b" zusammenzufassen, glaube ich, dass ich etwas wie a.merge (b) tun sollte. Meine Frage ist, wie würde ich sowohl "a" als auch "b" Werte innerhalb einer Methode referenzieren?Java - Wie wird der Körper und der eingegebene Parameter innerhalb einer Methode referenziert?

Zum Beispiel:

Sequence a = ...; 
Sequence b = ...; 
Sequence c = a.merge(b); 
public Sequence merge(Sequence other){ 
... 
} 

Innerhalb des Merge-Verfahrens, was der richtige Weg, um den Körper zu beziehen würde (a) und das Argument (b)? Sehr neu in Java, entschuldigt sich daher bei der Verwendung der falschen Terminologie. Jede Ressource, die ich für dieses Problem referenzieren könnte, wäre ebenfalls hilfreich.

+0

Bei dem Verfahren Sie 'this' für das, was das Verfahren auf (' a') genannt wird, und 'other' für den Parameter, denn das ist der Name, den du ihm gegeben hast. –

+0

was genau werden Sie mit Merge tun? – Ravi

+0

Warum nicht eine Methode erstellen, die zwei Sequenzen benötigt? Die Art, wie Sie etwas wie "a.merge (b)" verwenden würden, wäre, wenn die Sequenzklasse eine Merge-Methode hätte, dann würden Sie die Instanzvariablen und das übergebene Objekt verwenden. – Steampunkery

Antwort

1

Ihre otherSequence ist b, während this verweist auf das Objekt selbst, die a ist.

public Sequence merge(Sequence other){ 
    this.something; //refers to A, the object on which the call was made 
    other.something; //refers to B, the object passed as a parameter 
} 

Dies setzt natürlich voraus, ein Gespräch wie das Sie haben:

a.merge(b); 
Verwandte Themen