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;
}
}
请有人帮助我理解这一点以及它如何在测试类中初始化、它的作用以及它是否合法。
最佳答案
这是工作example你正在做什么。你需要定义两个构造函数。一个没有参数,因为你已经定义了一个带参数的构造函数。另请参阅 copy constructor在java中
class Foo {
private int field;
public Foo(int arg) {
this.field=arg;
}
public Foo(Foo foo) { // copy constructor
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); // Default constructor called
Foo obj2=new Foo(obj);
System.out.println(obj2.getField());
System.out.println(obj.getField());
}
}
关于java - 使用创建类的对象创建构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59026554/