public class Foo {
private int field;
public Foo(Foo foo) {
this.field = foo.getField();
}
public int getField() {
return field;
}
public void setField(int field) {
this.field = field;
}
}
请您帮助我理解这一点,以及如何在测试类中对其进行初始化,如何执行以及是否合法。
由于您已使用参数定义了构造函数,因此您不必在类中定义任何参数构造函数。
这是您正在做的工作示例。您需要定义两个构造函数。
class Foo {
private int field;
public Foo(int arg) {
this.field=arg;
}
public Foo(Foo foo) {
this.field = foo.getField();
}
public int getField() {
return field;
}
public void setField(int field) {
this.field = field;
}
}
public class Main {
public static void main(String[] args) {
Foo obj=new Foo(4);
//System.out.println(obj.getField());
Foo obj2=new Foo(obj);
System.out.println(obj2.getField());
System.out.println(obj.getField());
}
}