gpt4 book ai didi

java - 从一个构造函数调用另一个构造函数有什么优点和缺点吗?

转载 作者:行者123 更新时间:2023-11-30 11:00:41 25 4
gpt4 key购买 nike

考虑以下从一个构造函数调用另一个构造函数的情况:

public Pet(int x) {
this.x = x; // “this” means this object
}
public Pet (int x, String y) {
this(x); // calls constructor public Pet(int id)
this.y = y; // ”this” means this object
}
.
.
.
public Pet (params,[...]) { // [...] shows the number of params
this(params,[...])
//...
}

并分离重载的构造函数体。

public Pet(int x, int y, int z, int a, int b, [...]) {
this.x = x;
this.y = y;
this.z = z;
this.a = a;
this.b = b;
//[...] and so on
}

这是显而易见的目标,可以用更少的代码行来实现。(根据上面的场景我的问题)

从一个构造函数调用另一个构造函数是好是坏?我们在开发企业应用的时候会有什么优缺点;如果我们考虑性能、内存等。

最佳答案

您应该始终关注 Rules of Optimization在考虑某些东西在某些情况下是否具有性能和/或最佳使用时。

除此之外,还有一些明显的优点和缺点。

这种方法的优点是减少重复代码。随着每个构造函数的添加,对 super 的调用会变长一点,但不会在任何地方重复执行 this.x = x

这种方法的缺点是,当您可能正在寻找工厂或构建器时,您公开了更多构造此对象的方法,这会降低多构造函数方法的可见性。 p>

关于java - 从一个构造函数调用另一个构造函数有什么优点和缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31423202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com