java - 将类本身作为其构造函数的唯一参数

标签 java

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/

相关文章:

Java计算器历史功能

java - Java中HashMap的字面声明

java - 事务关闭语法与 hibernate 4 和 5 兼容

java - 执行 selenium 测试时,浏览器未在 Jenkins 中打开

java - 如何使Eclipse 2020-06不将gradle文件作为Java类文件查看?

java - JSF 2.0 将动态表单保存到数据库

java - JFrame 输出结果

java - 找不到标志?

Java:DOM 如何从名称列表中重命名节点名称

java - 使用 Java RestAssured 创建 POST 请求,返回状态代码 422