public class Foo{
private String a;
private int b;
public Foo(Foo foo){
this.a = foo.a;
this.b = foo.b;
}
}
大家好。
我在工作中完成的一小部分中包含了这段代码。我的同事看到了这一点,给了我“你不配呼吸”的表情,然后出去了大约 30 分钟冷静下来。 (我是一名应届毕业生)
我一直试图找出我所犯的可耻错误是什么。但没有成功。
有人可以准确解释一下为什么这样做是一种不好的做法(或愚蠢的做法)吗?
我这样做的原因是该类有很多参数,我不想每次需要初始化这个对象时都传递 3 行参数(使用原始参数)。
而且,仅供引用,这个对象是(我们在工作中称之为)事务对象,每当我们需要传递实体类(它而不是实体类)时,它就会被初始化。
我也有一个默认构造函数。
谢谢!
最佳答案
你的代码没有任何问题。实际上你所做的有一个名字:copy constructor 这是复制另一个对象的非常方便的方法。 (假设除了这个构造函数之外,您还有其他方法来创建它的实例)
关于java - 将类本身作为其构造函数的唯一参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972204/