Ich habe eine ziemlich allgemeine Frage über Java. Ich möchte wissen, ob es eine einfache Möglichkeit, diese C++ Code in Java neu zu erstellen:Java Copy Constructor mit dem "this" Schlüsselwort
class A
{
public:
int first;
int second;
A(const A& other) {
*this = other;
}
...
}
Also im Grunde eine Kopie Konstruktor, wo Sie ein vorhandenes Objekt A ein neues Objekt von einem in den Konstruktor übergeben kann, und es wird den Inhalt kopieren und eine exakte Kopie des vorhandenen Objekts von A.
versucht
class A {
int first;
int second;
public A(A other){
this = other;
}
...
}
leider funktioniert nicht bauen, da eclipse mir sagt, „das“ nicht auf der linken Seite der erlaubten eine Zuweisung, da es keine Variable ist.
Ich weiß, ich würde die gleichen Ergebnisse erzielen zu tun:
class A {
int first;
int second;
public A(A other){
this.first = other.first;
this.second = other.second;
}
...
}
Aber ich würde gerne wissen, ob es ein einfacher Weg ist, da man manchmal ein paar Klassenvariablen hat.
Vielen Dank im Voraus!
Sie könnten einen privaten Konstruktor erstellen, der all Ihre Variablen aufnimmt und von allen anderen Konstruktoren in irgendeiner Weise aufgerufen wird. – Charles
Sie meinen einen Konstruktor, der eine Instanz dieses Objekts aufnimmt und dann seine Daten kopiert. Das ist wahrscheinlich so einfach wie es nur geht. – Daedric
@Daedric genau - aber ohne seine Variablen einzeln kopieren zu müssen. (Ich fragte mich, ob ich das Wort "Copy Constructor" missbraucht hatte, nachdem ich die Frage gestellt hatte - führte das zu Verwirrung?) – kalu