MC *_*ror 3 java constructor this
假设你有一个带有这个构造函数的类:
public SomeObj(int x, int y) {
this.x = x;
this.y = y;
}
Run Code Online (Sandbox Code Playgroud)
都好.但是现在如果你想克隆对象,我希望构造函数接受一个带有该类型对象的参数,因此在构造函数中可以复制所有(必要的)字段.
public SomeObj(SomeObj objectToClone) { ... }
Run Code Online (Sandbox Code Playgroud)
但是现在以下哪两种方式更好?有哪些优点和缺点(性能(字节代码),可读性......)?
// 1
public SomeObj(SomeObj objectToClone) {
this.x = objectToClone.x;
this.y = objectToClone.y;
}
// 2
public SomeObj(SomeObj objectToClone) {
this(objectToClone.x, objectToClone.y);
}
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 13
亲自,我会和后者一起去.
在可能的情况下,我尝试使一个构造函数具有"真实"的主体,并使所有其他构建者委托给它.这并不总是可行的 - 特别是,不同的构造函数可能需要委托给不同的超级构造器 - 但很高兴知道有一个地方可以放置额外的初始化,日志记录,断点等等.
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |