java构造函数中的自赋值

java构造函数中的自赋值,java,Java,我有一门课是这样的: public class Reza { public Reza(Reza reza) { } } this = reza public Reza(Reza reza) { field1 = reza.field1; field2 = reza.field2; ... } 我想将构造函数的输入参数reza替换为当前对象,如下所示: public class Reza { public Reza(Reza reza) {

我有一门课是这样的:

public class Reza {
    public Reza(Reza reza) {

    }
}
this = reza
public Reza(Reza reza) {
    field1 = reza.field1;
    field2 = reza.field2;
    ...
}
我想将构造函数的输入参数reza替换为当前对象,如下所示:

public class Reza {
    public Reza(Reza reza) {

    }
}
this = reza
public Reza(Reza reza) {
    field1 = reza.field1;
    field2 = reza.field2;
    ...
}
我该怎么办?

可能吗?

不,不可能
reza
代表不同的对象;不能将构造函数中正在创建的对象替换为现有对象

但是,您可以将
reza
的内容复制到
this
中。为此,请添加如下一系列作业:

public class Reza {
    public Reza(Reza reza) {

    }
}
this = reza
public Reza(Reza reza) {
    field1 = reza.field1;
    field2 = reza.field2;
    ...
}

不,这是不可能的
reza
代表不同的对象;不能将构造函数中正在创建的对象替换为现有对象

但是,您可以将
reza
的内容复制到
this
中。为此,请添加如下一系列作业:

public class Reza {
    public Reza(Reza reza) {

    }
}
this = reza
public Reza(Reza reza) {
    field1 = reza.field1;
    field2 = reza.field2;
    ...
}

不,你不能那样做
根据设计,此
为只读常量。分配给它没有任何意义。

不,你不能这样做
根据设计,此
为只读常量。分配给它没有任何意义。

不可能,但您可以一个接一个地复制所有属性(就像其他答案一样)或通过反射。 类似这样,希望您要复制的属性具有getter和setter(我从另一个stackoverflow答案复制了它,它看起来是正确的):

public-Reza(Reza-Reza){
方法[]gettersAndSetters=reza.getClass().getMethods();
for(int i=0;i
不可能,但您可以一个接一个地复制所有属性(就像其他答案一样)或通过反射。 类似这样,希望您要复制的属性具有getter和setter(我从另一个stackoverflow答案复制了它,它看起来是正确的):

public-Reza(Reza-Reza){
方法[]gettersAndSetters=reza.getClass().getMethods();
for(int i=0;i
这是不可能的。但问题是你为什么要这么做?或者您认为它应该做什么?创建一个(静态)
clone()
方法不是更好吗?您想要这个为什么?你想解决的实际问题是什么?这是不可能的。但问题是你为什么要这么做?或者您认为它应该做什么?创建一个(静态)
clone()
方法不是更好吗?您想要这个为什么?你想解决的实际问题是什么?