加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在另一个构造函数中使用“this”

发布时间:2020-12-15 05:23:30 所属栏目:Java 来源:网络整理
导读:假设你有一个带有这个构造函数的类: public SomeObj(int x,int y) { this.x = x; this.y = y;} 都好.但是现在如果你想克隆对象,我希望构造函数接受一个带有该类型对象的参数,因此在构造函数中可以复制所有(必要的)字段. public SomeObj(SomeObj objectToClo
假设你有一个带有这个构造函数的类:

public SomeObj(int x,int y) {
    this.x = x;
    this.y = y;
}

都好.但是现在如果你想克隆对象,我希望构造函数接受一个带有该类型对象的参数,因此在构造函数中可以复制所有(必要的)字段.

public SomeObj(SomeObj objectToClone) { ... }

但是现在以下哪两种方式更好?有哪些优点和缺点(性能(字节代码),可读性……)?

// 1
public SomeObj(SomeObj objectToClone) {
    this.x = objectToClone.x;
    this.y = objectToClone.y;
}

// 2
public SomeObj(SomeObj objectToClone) {
    this(objectToClone.x,objectToClone.y);
}

解决方法

亲自,我会和后者一起去.

在可能的情况下,我尝试使一个构造函数具有“真实”的主体,并使所有其他构建者委托给它.这并不总是可行的 – 特别是,不同的构造函数可能需要委托给不同的超级构造器 – 但很高兴知道有一个地方可以放置额外的初始化,日志记录,断点等等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读