考虑以下从另一个调用一个构造函数的情况:
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
}
用更少的代码行就可以实现这个显而易见的目标。(根据上述情况我的问题)
从另一个调用一个构造函数是好事还是不好的做法?我们开发企业应用程序时的利弊是什么?如果我们考虑性能,内存等方面的问题
在考虑某项东西在某些情况下是否性能良好和/或最佳时,您应该始终遵循优化规则。
除此之外,还有一些明显的利弊。
这种方法的优点是重复代码少。添加了每个构造函数后,调用super
会花费更长的时间,但是在this.x = x
任何地方都没有重复操作。
这种方法的缺点是,当您寻找工厂或构建器时,会公开更多构造该对象的方法,这会降低多构造器方法的可见性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句