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()
方法不是更好吗?您想要这个为什么?你想解决的实际问题是什么?