我在类的构造函数中进行了一些计算 现在假设我要更改此类中的变量字段之一,这将影响以前进行的计算。
每次我都会调用任何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)
}
}
答案 0 :(得分:4)
您无法将新对象分配给this
。这总是引用当前对象。
为什么不设置X并从Calculting()
调用Set_X
方法呢?这将更改当前对象的状态。
如果您不想更改当前对象,例如由于有其他引用,您将不得不创建一个新实例并从Set_X
返回它。