Ein Copy Constructor ist vor allem im C++ Umfeld bekannt und üblich - aber auch in Java kann man natürlich einen Konstruktor bauen, der eine Instanz der eigenen Klasse entgegen nimmt.
Und das dies geht, sieht man ja auch an Klassen wie String - das wäre ein gutes Beispiel für eine Klasse mit einem Copy Constructor im Java Umfeld..
Und die Frage ist, was denn hier als Problem gesehen wurde. Hat [USER=56216]@temi[/USER] da schon geholfen? Oder ist das Problem, dass Du eigentlich zwei Konstruktoren hast, die Du da aufrufen möchtest?
Also etwa sowas (was so nicht geht):
[CODE=java]public class KonstruktorDemo {
private char ads;
private int[] test;
public KonstruktorDemo(final char ads) {
this.ads = ads;
}
public KonstruktorDemo(final int[] test) {
this.test = test;
}
public KonstruktorDemo(final KonstruktorDemo demo) {
this(demo.ads);
this(demo.test);
}
}
[/CODE]
Eine Möglichkeit ist bei sowas, die Funktionalität, die benötigt wird, zusammen zu ziehen in eine Methode. Das haben wir hier in Form eines Konstruktors, der ads und test setzt. Die anderen Konstruktoren rufen den dann auf. Das sähe dann z.B. so aus:
[CODE=java]public class KonstruktorDemo {
public static char DEFAULT_ADS = 0;
public static int[] DEFAULT_TEST = null;
private char ads;
private int[] test;
public KonstruktorDemo(final char ads) {
this(ads, DEFAULT_TEST);
}
public KonstruktorDemo(final int[] test) {
this(DEFAULT_ADS, test);
}
private KonstruktorDemo(final char ads, final int[] test) {
this.ads = ads;
this.test = test;
}
public KonstruktorDemo(final KonstruktorDemo demo) {
this(demo.ads, demo.test);
}
}
[/CODE]