为了账号安全,请及时绑定邮箱和手机立即绑定

是否可以将新对象分配到“this”中?

是否可以将新对象分配到“this”中?

忽然笑 2019-04-18 18:15:17
我在类的构造函数中进行了一些计算,现在假设我想要更改此类中的一个变量字段,这将影响之前进行的计算。每次我会调用任何set方法,我将需要再次运行计算(或复制代码两次(这是错误的编码..))如果我能像下面所示那样做,我认为代码看起来会更好,我只是想知道它无法完成的原因是什么?class Entity{     private int x,y,z;     public Entity(int x,int y,int z)     {       Calculating();     }     private void Calculating()     {       // ...      }     public void Set_X(int x)     {       this = new Entity(x,this.y,this.z)     }}
查看完整描述

2 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

您无法分配新对象this。这总是引用当前对象。

你为什么不设置X并Calculting()从中调用方法Set_X?这将改变当前对象的状态。

如果您不想更改当前对象,例如因为对其进行了其他引用,则必须创建一个新实例并从中返回Set_X


查看完整回答
反对 回复 2019-05-15
  • 2 回答
  • 0 关注
  • 538 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号