Erstellen von Objekt-Methode-Parameter
Beim erstellen einer Methode in einer Klasse, wenn Sie den parameter verwenden:
public String Method(ClassName NewObject){}
oder in meinem Beispiel unten:
public String EqualsTo(Deck aCard){}
wird es erstellen Sie ein neues Objekt dieser Klasse innerhalb der Methode? Wenn nicht jeder Geist explaing, was ich geschieht mit dem parameter?
HINWEIS: Ignorieren Sie jede kleine syntax-Fehler, da ich einfach nur konstruiert, um meine Frage besser rüber, so ist dies nicht eine komplette Klasse.
import java.util.Scanner;
import java.util.Random;
public class Deck {
private int suit;
private int rank;
private Random generator = new Random();
Scanner in = new Scanner(System.in);
//Default constructor
public Deck() {
suit = suit.random(4);
rank = rank.random(13);
}
public String EqualsTo(Deck aCard){}
}
- Sie müssen wirklich sehr vorsichtig sein mit der syntax hier: eine "kleine syntax-Fehler" kann leicht machen Sie Ihren code bedeuten eine ganz andere Sache.
- Um zu sehen, wie die Objekte übergeben werden, die diesen post Lesen stackoverflow.com/questions/40480/is-java-pass-by-reference
Du musst angemeldet sein, um einen Kommentar abzugeben.
Objekte werden erstellt, wenn Sie die
new
Schlüsselwort. Auf der anderen Seite, wenn Sie deklarieren Sie eine Methode alser sagt, dass die
EqualsTo()
Methode nimmt einenDeck
Referenz als parameter. Um die Methode verwenden, müssen Sie erstellen eineDeck
- Objekt und einen Verweis darauf beibehalten. Dann senden Sie den Verweis auf die Methode.Deck.EqualsTo(NewDeck);
EqualsTo()
arbeiten. Allerdings müssen Sie verwenden eine Instanz von einem deck, die beide die Methode aufrufen und als parameter. Sie können die Namen derDeck
Klasse sich diese Methode aufrufen.Parameter fungieren als Platzhalter für diese Art von Objekt. Ist es nicht tatsächlich schaffen Sie es, die Signatur der Methode, sagt:
Ich bin ein
EqualsTo()
Methode und ich nehmen/verlangen eineDeck
Typ der Instanz/Objekt als parameter.Es wieder ein
String
als Ergebnis.Übrigens, ich empfehle, mit einem boolean als return-Typ anstelle von "String" für ein EqualsTo Methode.
Grundlegende Sache: Java ist pass-by-value.
aCard
.Hier ist ein Beispiel.
KEINE
Tut nicht erstellen Sie ein neues Objekt, wenn es aufgerufen wird.
Hier ist, wo die Objekte erstellt werden. Use-case -